Find online courses made by experts from around the world.
Take your courses with you and learn anywhere, anytime.
Learn and practice real-world skills and achieve your goals.
This is a thoroughly detailed course that uses lots of animations to help you visualize the concepts.
This course will help you develop a strong background in Data Structures and Algorithms. The course is broken down into easy to assimilate short lectures, and after each topic there is a quiz that can help you to test your newly acquired knowledge. The examples are explained with animations to simplify the learning of this complex topic. Complete working programs are shown for each concept that is explained.
This course provides a comprehensive explanation of data structures like linked lists, stacks and queues, binary search trees, heap. Various sorting algorithms with implementation and analysis are included. Concept of recursion is very important for designing and understanding certain algorithms so the process of recursion is explained with the help of several examples.
Throughout the course, a step by step approach is followed to make you understand different Data Structures and Algorithms. Through this course you can build a strong foundation in Data Structures and Algorithms that can help you to crack coding interviews and work in the industry.
In this course, Java language is used for implementing various Data Structures and Algorithms, but you can easily implement them in any other language like C++, C#, or Python.
What students are saying about this course
"I enrolled in this course to supplement an Algorithm's class I am taking online, but struggling in. As soon as I worked through the content of this course many of the concepts I was struggling to wrap my mind around made sense. I credit this it the step by step walk-through approach used by the instructor. For each algorithm, there is a dynamic diagram used to illustrate what is happening, and why it is happening. More over, as is required of a Data Struct and Algorithm discussion, the complexity of the algorithms is analyzed and explained in detail. Truly a worthwhile buy if you need a better understanding of the content."
"Summary - a good interactive way to learn/refresh data structure. I took this course to help me to prepare for my Interview. There are mostly everything that is required for an interview. Example are pretty neat.The course is little fast paced, But you will get hang of it as you progress. Some of the examples are really great help in understanding the concept. Overall well I am happy with this."
"Awesomely explained concepts, perfectly coded practical examples."
"Explained with simple examples. Clarity was 100%"
"Excellent explanation. Very useful for Programming Interviews."
Not for you? No problem.
30 day money back guarantee.
Learn on the go.
Desktop, iOS and Android.
Certificate of completion.
|Section 1: Introduction to Data Structures and Algorithms|
Data Structures and Algorithms
Measuring Running time of Algorithms
Big O Notation
Finding Big O
Tight and Loose Upper Bounds
Introduction Quiz A
Big O analysis of Algorithms
Finding Time complexity
Big O analysis of Algorithms: Examples
Worst case, Best case and Average Case Analysis
Abstract Data Types
Introduction Quiz B
|Section 2: Linked List|
Traversing and Searching a Single Linked List
Finding references in a single linked list
Insertion in a Single Linked ListPreview
Insertion in a Single Linked List ..contd
Deletion in a Single Linked List
Reversing a Single Linked List
Linked List Quiz A
Sorting a Linked list using Bubble Sort
Merging of sorted Linked lists
Sorting a Linked list using Merge Sort
Finding and Removing a cycle in a Linked list
Doubly linked list
Insertion in a doubly linked List
Deletion from doubly linked list
Reversing a doubly linked list
Circular linked list
Insertion in a circular Linked List
Deletion in a circular linked list
Linked List with Header Node
Sorted linked list
Linked List Quiz B
|Section 3: Stack and Queue|
Array Implementation of Stack
Linked List Implementation of Stack
Array Implementation of Queue
Linked List implementation of Queue
Queue through Circular Linked List
Checking validity of an expression containing nested parentheses
Evaluating Arithmetc Expressions
Converting infix expression to postfix expression
Evaluation of postfix expression
Stack and Queue Quiz
|Section 4: Recursion|
Flow of control in Recursive functions
Winding and unwinding phase
Printing numbers from 1 to n
Sum of digits of an integer
Finding nth power of a number
Tower of Hanoi
Recursion vs. Iteration
|Section 5: Binary Tree|
Intoduction to trees
Strictly Binary Tree and Extended Binary Tree
Full binary tree and Complete Binary Tree
Array Representation of Binary trees
Linked Representation of Binary Trees
Binary Tree Quiz A
Binary Tree in Java
Traversal in Binary Tree
Level order traversal
Finding height of a Binary tree
Constructing Binary tree from Traversals
Constructing binary tree from inorder and preorder traversals
Constructing binary tree from inorder and postorder traversals
Binary Tree quiz B
|Section 6: Binary Search Tree|
Traversal in Binary Search Tree
Searching in a Binary Search Tree
Nodes with Minimum and Maximum key
Insertion in a Binary Search Tree
Deletion in a Binary Search Tree
Binary Search Tree Quiz
Deepali Srivastava has a Master's degree in Mathematics and is the author of books "C in Depth" and "Data Structures Through C in Depth". She loves programming and is passionate about teaching. Whether writing a book or making a course, she always tries to present the concepts in a simplified way which helps students develop interest in the topic being taught. Her books have been appreciated by students and she hopes that her online courses will also prove to be helpful.