Monday 11 July 2016

KTU Syllabus for Data Structures and Algorithms

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
https://comsciers.files.wordpress.com/2015/12/horowitz-and-sahani-fundamentals-of-computer-algorithms-2nd-edition.pdf 
Pdf of Text Book   https://www.cengagebrain.co.nz/content/gilberg90803_0534390803_02.01_chapter01.pdf