Complete course on Tree - Data Structures
What you'll learn
- Binary Tree Implementation
- Advanced Data Structures
- Yes, A basic knowledge in Programming and Linear Data Structures
Welcome to my crash course on Binary Trees which is one of the pivotal concepts in Advanced Data Structures and Algorithms!
In this course, we'll learn
1. What is Recursion? (Recursion is a prerequisite and a very useful tools to implement binary Trees)
2. Tricks to write recursive functions!
3. Tracing recursive functions
4. Converting an iterative solution to a recursive solution.
5. Basic Tree terminologies
6. Implementation of Binary Trees using LinkedLists
7. The basic traversal algorithms - How to code them?
8. Finding the height of the Tree - Algorithm, Code, Tracing.
9. How to find the Maximum and Minimum elements of a tree?
10. Finding the sum of all nodes in a tree
11. Level Order Traversal - Using Brute Force Approach and Improved Solution using Queue Data Structure.
12. Printing the left View of a Binary Tree
13. Printing the Right View of a Binary Tree
14. Understanding Hashmaps in C++ STL
15. Implementation of Vertical Order Traversals using Hashmaps
16. Printing all the leaf nodes of a Binary Tree using any one of the Traversal algorithms.
17. Printing the cousin nodes of a node in a Binary Tree.
18. Binary Search Trees - Explanation
Through these standard Tree problems, you'll easily be familiarized on implementing Trees in C or C++. Some ideas were also provided to implement the same using some other languages using Python too. So, if you're not comfortable in using C or C++, It's not a problem :)
Who this course is for:
- Beginner Programmers
Languages - C, C++, Python, Verilog, System Verilog
Hardware - Digital Logic Design, Computer Architecture, VLSI Design, Analog Electronics, Signal Processing, Embedded Systems
Software - Data Structures & Algorithms, Operating Systems, Database Management Systems, Computer Networks, Machine Learning, Deep Learning.
Tools - Xilinx Vivado, Matlab, Multisim, Altium, Arduino IDE, TinkerCAD, Tanner EDA, Cadence Virtuoso
Boards - Arduino, 8051, TIVA, Raspberry Pi, NodeMCU
Areas of Interest - Artificial Intelligence, Digital Design, Software Engineering, Algorithms