Topic
| Details |
Resources |
Basics |
Data, Pointers, Structures |
|
Linked lists |
Singly Linked Lists, Doubly Linked Lists, Circular Linked Lists |
notes and problems |
Linked list Applications |
Polynomial representation and operations |
notes and problems |
Stack |
Operations - push, pop; overflow and underflow; implementation using array and linked lists |
notes and problems |
Stack Applications |
Postfix, Infix and Prefix representations and evaluation of expressions |
notes and problems |
Queue |
Operations - insert, delete; overflow and underflow; implementation using array and linked lists |
notes and problems |
Queue variations |
circular queue, priority queue and heap representation |
notes on circular and priority queue |
Linked list, Stack and Queue |
queue implementation using stacks, stack implementation using queues, stack and queue using linked lists |
|
Recursion |
Design using recursion, recursion tree, head and tail recursion, Tower of Hanoi |
notes and problems |
Tree |
basic terminologies and theorems, array and linked representations |
|
Tree variations |
BST, AVL tree, B tree, B+ tree |
|
Tree operations |
insertion, deletion, searching in BST, searching/traversal usning pre-order, post-order, in-order, level-order, rotations in AVL tree |
|
Graph |
terminologies, representation using adjacency list and adjacency matrix |
|
Graph operations |
sortest path using Dijkstra, spanning tree using Prim's and Kruskal's, traversal/searching using BFS, DFS |
|
Searching |
linear search, binary search, interpolation search, complexity |
|
Sorting |
bubble sort, insertion sort, selection sort, quick sort, merge sort, heap sort, radix sort, complexity |
|
Hashing |
hash functions, collisions, linear probing, Quadratic probing. Double hashing, chaining |
|