From 0 to 1: Data Structures & Algorithms in Java



What are the requirements? Basic knowledge of programming is assumed, preferably in Java What is the target audience? 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


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

Goal of Course

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

What this course is about

Data Structures And Algorithms - A Symbiotic Relationship

Complexity Analysis and the Big-O Notation

Linked Lists

Stacks And Queues

Sorting and Searching

Binary Trees

Binary Search Trees

Binary Tree Problems


Revisiting Sorting - The Heap Sort


Graph Algorithms

Spanning Tree Algorithms