Data PRO or Pay-Per-Course
Pick a plan that right's for you!
Course curriculum
-
1
1-What this course is about
-
2
2-Data Structures And Algorithms - A Symbiotic Relationship
-
3
3-Complexity Analysis and the Big-O Notation
-
4
4-Linked Lists
-
5
5-Stacks And Queues
-
6
6-Sorting and Searching
-
7
7-Binary Trees
-
8
8-Binary Search Trees
-
9
9-Binary Tree Problems
-
10
10-Heaps
-
11
11-Revisiting Sorting - The Heap Sort
-
12
12-Heap Problems
-
13
13-Graphs
-
14
14-Graph Algorithms
-
15
15-Shortest Path Algorithms
-
16
16-Spanning Tree Algorithms
-
17
17-Graph Problems
-
You, This course and Us -
2. Why are data structures and algorithms important ? DOWNLOADS -
3. Performance and Complexity 4. The Big-O Notation 5. What is the complexity of these pieces of code? DOWNLOADS -
6. The Linked List - The Most Basic Of All Data Structures 7. Linked List Problems 8. Linked Lists vs Arrays DOWNLOADS -
9. Meet The Stack - Simple But Powerful 10. Building A Stack Using Java 11. Match Parenthesis To Check A Well Formed Expression 12. Find The Minimum Element In A Stack In Constant Time 13. Meet The Queue - A Familiar Sight In Everyday Life 14. The Circular Queue - Tricky But Fast 15. Build A Queue With Two Stacks DOWNLOADS -
16. Sorting Trade-Offs 17. Selection Sort 18. Bubble Sort 19. Insertion Sort 20. Shell Sort 21. Merge Sort 22. Quick Sort 23. Binary Search - search quickly through a sorted list DOWNLOADS -
24. Meet The Binary Tree - A Hierarchical Data Structure 25. Breadth First Traversal 26. Depth First - Pre-OrderTraversal 27. Depth First - In-Order and Post-Order Traversal DOWNLOADS -
28. The Binary Search Tree - an introduction 29. Insertion and Lookup in a Binary Search Tree DOWNLOADS -
30. Minimum Value, Maximum Depth And Mirror 31. Count Trees, Print Range and Is BST DOWNLOADS -
32. The Heap Is Just The Best Way to Implement a Priority Queue 33. Meet The Binary Heap - It's A Tree At Heart 34. The Binary Heap - Logically A Tree Really An Array 35. The Binary Heap - Making It Real With Code 36. Heapify! 37. Insert And Remove From A Heap DOWNLOADS -
38. Heap Sort Phase I - Heapify 39. Heap Sort Phase II - The Actual Sort DOWNLOADS -
40. Maximum Element In A Minimum Heap and K Largest Elements In A Stream DOWNLOADS -
41. Introducing The Graph 42. Types Of Graphs 43. The Directed And Undirected Graph 44. Representing A Graph In Code 45. Graph Using An Adjacency Matrix 46. Graph Using An Adjacency List And Adjacency Set 47. Comparison Of Graph Representations 48. Graph Traversal - Depth First And Breadth First DOWNLOADS -
49. Topological Sort In A Graph 50. Implementation Of Topological Sort DOWNLOADS -
51. Introduction To Shortest Path In An Unweighted Graph - The Distance Table 52. The Shortest Path Algorithm Visualized 53. Implementation Of The Shortest Path In An Unweighted Graph 54. Introduction To The Weighted Graph 55. Shortest Path In A Weighted Graph - A Greedy Algorithm 56. Dijkstra's Algorithm Visualized 57. Implementation Of Dijkstra's Algorithm 58. Introduction To The Bellman Ford Algorithm 59. The Bellman Ford Algorithm Visualized 60. Dealing With Negative Cycles In The Bellman Ford Algorithm 61. Implementation Of The Bellman Ford Algorithm DOWNLOADS -
62. Prim's Algorithm For a Minimal Spanning Tree 63. Use Cases And Implementation Of Prim's Algorithm 64. Kruskal's Algorithm For a Minimal Spanning Tree 65. Implementation Of Kruskal's Algorithm DOWNLOADS -
66. Design A Course Schedule Considering Pre-reqs For Courses 67. Find The Shortest Path In A Weighted Graphs - Fewer Edges Better DOWNLOADS
Course Description
What will I learn?
- Visualise - really vividly imagine - the common data structures, and the algorithms applied to them
- Pick the correct tool for the job - correctly identify which data structure or algorithm makes sense in a particular situation
- Calculate the time and space complexity of code - really understand the nuances of the performance aspects of code
About the course
- This is an animated, visual and spatial way to learn data structures and algorithms
- Our brains process different types of information differently - evolutionarily we are wired to absorb information best when it is visual and spatial i.e. when we can close our eyes and see it
- More than most other concepts, Data Structures and Algorithms are best learnt visually. These are incredibly easy to learn visually, very hard to understand most other ways
- This course has been put together by a team with tons of everyday experience in thinking about these concepts and using them at work at Google, Microsoft and Flipkart
What's Covered
- Big-O notation and complexity
- Stacks
- Queues
- Trees
- Heaps
- Graphs and Graph Algorithms
- Linked lists
- Sorting
- Searching
Who should take the course?
- Yep! Computer Science and Engineering grads who are looking to really visualise data structures, and internalise how they work
- Yep! Experienced software engineers who are looking to refresh important fundamental concepts
Pre-requisites & Requirements
- Basic knowledge of programming is assumed, preferably in Java