BTH-PCC-CS-301: Data Structures and Algorithm Theory

Autumn 2023


Announcements


Class Details

Books

Lecture Details

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

Helpful Resourses