Module 1
Introduction to programming methodologies –
Structured approach,
step wise refinement techniques,
programming style,
documentation –
analysis of algorithms:
frequency count,
definition of Big O notation,
asymptotic analysis of simple algorithms.
Recursive and iterative algorithms.
Module 2
Abstract and Concrete Data Structures-
Basic data structures –
vectors and arrays
Linked lists:-
singly linked list,
doubly linked list,
Circular linked list,
operations on linked list,
linked list with header nodes,
applications of linked list.
Module 3
Implementation of Stacks and Queues using arrays and linked list,
DEQUEUE (double ended
queue).
Multiple Stacks and Queues,
Applications.
String: -
representation of strings,
concatenation,
substring
searching and deletion.
Module 4
Trees: -
m-ary Tree,
Binary Trees –
level and height of the tree,
complete-binary tree representation using array,
tree traversals,
applications.
Binary search tree –
creation, insertion and deletion and search operations,
applications.
Graphs –
representation
of graphs,
BFS
and DFS (analysis not required)
Module 5
Sorting techniques –
Bubble sort,
Selection Sort,
Insertion sort,
Merge sort,
Quick sort,
Heaps and Heap sort.
Searching algorithms –
Linear and Binary search. (For all the above a basic analysis of
the algorithms and performance comparison are expected.)
Module 6
Memory management: -
reference count,
garbage collection algorithm-
algorithm for marking accessible cells.
Fragmentation and
compaction-
first fit, best fit,
boundary tag method (basic concepts only; algorithms not
expected.)
Hash Tables –
Hashing functions –
Mid square,
division,
folding,
digit analysis,
Overflow handling.
Text Book Pdf
Pdf of Text Book https://www.cengagebrain.co.nz/content/gilberg90803_0534390803_02.01_chapter01.pdf