basic concepts-algorithm specification-introduction recursive algorithms data abstraction performance analysis-time complexity and space complexity. asymptotic notation-big O omega and theta notations introduction to linear and non-linear data structures.
single linked lists-operating-insertion,deletion, concatenating singly linked lists-operations for circular linked lists,doubly linked lists-operation -insertion, deletion representation of single, two dimensional array, sparse matrices-array and linked representations.
stack ADT definition operations array and linked implementations queue ADT definition and operation array and linked implementations in C circular queues-insertion and dleltin operations, deque (double ended queue)ADT, array and linked implementations in C.
trees-terminology representation of trees. binary tree ADT properties of binary trees, binary tree representation-array and linked representations, binary traversals threaded binary trees, binary tree max priority queue ADT -implementation-max heap definition, insertion into a max heap deletion form a max heap.
graphs-introduction, definition terminology graph ADT graph representations-adjecency matrix, adjacency lists, graph traversals-DFC and BFC.
searching-linear search, binary search definitin static hashing-introduction, hash tables, hash functions, overflow handling.
sorting-insertion sort, selection sort radix sort,heap sort ,comparison of sorting methods.
search trees-binary trees definition operations-searching insertion and deletion AVL trees-definition and examples insertion into an AVL tree B-tree definition B-tree of order m operations-insertion and searching. introduction to red-black and splay trees(elementary treatment-only definitions and examples.) comparison of search trees.
pattern matching algorithm-the knuth-Morris-pratt algorithm, tries (examples only).