/CMSE WEEK OF
TOPICS
LABS
Primitive data structures. Binary and Decimal Integers, Real numbers, Character strings, Memory representation of information, pointers.
SL6 Pointer Basics 1
SL6 Pointer Basics 2 -Arrays - Structures
Arrays and Pointers.
Structures, Array of structures.
Memory allocation (storage) of arrays. Multi- dimensional arrays (row-major, column-major). Self-referential structures. Dynamic memory allocation in C. Linked lists.
SL6 Structures in C
SL4 Arrays and Structures
SL 5 - Data structures (Prentice Hall): Dynamic Memory Allocation Slides 1-14
SL 5 - Data structures (Prentice Hall): Dynamic Memory Allocation Slides 1-14 (pdf)
Doubly linked lists, circular linked lists, abstract data types
SL1 Linked Lists (1-14) linked lists and stacks implemeted as linked lists) (pdf)
SL4 Functions - Dynamic Memory allocation in C - Pointers (v)
SL 5 - Data structures (Prentice Hall): Introduction - Self-Referential Structures -Dynamic Memory Allocation - Linked Lists - Stacks -Queues - Trees
SL4 Linked List (slides 1-10)
SL4 Circular Linked list - doubly linked list
SL6 Abstract Data Types
SL6 Linked Lists (single - double)
SL4 Linked List (slides 1-10) (pdf)
SL4 Circular Linked list - doubly linked list (pdf)
SL6 Stacks - Queues (Array + Pointer Implementation) - Circular Queues
SL6 Stack Applications - parenthesis matching - evaluating expressions - infix to postfix conversion - postfix expression evaluation
SL 5 - Data structures (Prentice Hall)
SL1 Stacks - Recursion
SL4 Infix to postfix conversion
Stacks continued. Functions. Recursive definitions. Factorial function. Fibonacci sequence. Binary search. The Towers of Hanoi problem. Recursion versus Iteration.
Factorial
Fibonacci
Sum
Towers of Hanoi
SL4 Linear and Binary Search
SL1 Stacks - Recursion (pdf)
SL4 Linear and Binary Search (pdf)
Recursion continued. Binary search.
The Queue as an Abstract Data Type. C implementation of Queues. Circular queue representation.
SL6 Recursion - Merge Sort - Binary Search
SL4 Circular Queue (bad implementation)
Review
Midterm Exams
Trees. Binary Tree Representations. Binary search trees.
SL5 Trees - Binary Trees - Binary Search Trees
SL6 Binary Search Trees
SL1 Searching - Tree traversals - Red Black trees
SL1 AVL Trees - B Trees - B+ Trees
SL4 Trees - Binary Trees - Tree traversals - Threaded Binary Trees - Heaps - Binary Search Tree
SL4 Tree - General - Binary - Threaded - AVL - Balanced
SL5 AVL Trees 1
SL5 AVL Trees 2
SL5 B+TREES
SL6 Binary trees - Huffman Encoding - Traversals
SL6 Threaded Binary Trees
'C' implementation of BST (home grown)
Sample run of BST
Midterm Exam Solution:
Algorithmic complexity.
Sorting. Bubble sort, insertion sort, quick sort, merge sort
SL6 Algorithmic Complexity I
SL3 Asymptotic Analysis
SL2 Complexity (i)
SL2 Complexity (ii)
SL6 Algorithmic Complexity II
SL3 Algorithm Analysis
SL1 Complexity
SL1 Sorting
SL4 Algorithm Def - Asymptotic Notations
SL4 Sorting - Bubble - Insertion - Selection - Shell - Quick - Merge
SL5 - Quicksort (nice)
SL3 Quicksort
Heaps. Heap operations. Heap sort.
SL5 Heaps - Heap Sort - Priority Queues
SL6 Heap - Heapsort - Priority queues
Graphs. Application of graphs. Representation of Graphs.
SL5 Hashing
SL1 Graphs
SL4 Graphs - Def - Implementation - Graph search
SL6 Graphs - Operations - Traversals (Also tree traversals breadth/depth first)
SL6 Minimum Spanning Tree
SL6 Shortest Path Problems
Graphs Notes 2
Final Exams