Ever wondered how large amounts of data is stored in computers and still accessed efficiently? In computer science, a data structure is a particular way of organizing data so that it can be used efficiently.
In this course, we will learn about these data structures. We will cover the most popular data structures used to store data which includes binary search trees, heaps, hash tables and graphs. Complete with code samples, you'll be able to learn alongside the instructor. This course is designed for programmers with some basic knowledge of C++.
This course is broken down into easy to assimilate lectures and after each section there is problem set which challenges you to work on problems related to that section. The course provides comprehensive explanation of data structures binary search trees, heaps, hash tables and graphs. By the end of this course, you will be able to code these data structures and understand how to perform operations on these data structures.
In this lecture, we see how we can represent binary search tree in C++.
This lecture covers the case where the data/value to be deleted in a binary search tree doesn't exist in the tree.
In this lecture, we cover the case where the value to be deleted is at the leaf node in the binary search tree.
This lecture covers the scenario where we want to delete a node with a single child.
This lecture covers the scenario, where the node which is to be deleted has two children.
In this lecture, we discuss how to do inorder traversal of a binary search tree.
In this lecture, we test the code we have written so far for binary search tree.
In this lecture, we cover the representation of heap data structures.
This lecture covers how to add elements to a heap and still maintain the heap property.
This lectures covers how to remove the top element from the heap and then reheapify the tree.
In this lecture, we test the add() and the remove() methods for heap.
In this lecture, we will use algorithm and vector package to implement heaps.
In this lecture, we discuss what are hash tables and hash functions.
In this lecture, we discuss the Hash Entry class and Hash Table class and their data members and methods for implementation.
In this lecture, we will implement the Hash Entry class as discussed in the previous lecture.
In this lecture, we implement the insertion of key, value pair in the hash table.
In this lecture, we discuss how to implement the find() method in the Hash table.
In this lecture, we discuss the implementation of the remove() method for the Hash Table
In this lecture, we will test the Hash table class that has been developed in the previous lectures.
In this lecture, we will implement adjacency list representation of a graph.
In this lecture, we implement depth first traversal of a graph.
Nisha has been teaching since her grad school years as a Masters student in Computer Science where she worked as a teaching assistant for numerous courses in programming. Currently, she works in the Elearning industry and also helps students with programming problems. Nisha has worked as a software developer for various firms prior to teaching and understands how important it is to have a good grasp over programming fundamentals.
During her grad school, she has gained experience in teaching and how to effectively communicate a concept to someone new to programming. Nisha has worked with numerous students ranging from beginner to advanced and understands the needs of both kinds of audience.