COURSE SUMMARY
Course Title: 
Introduction to Data Structures and Algorithms
Course Code: 
18CSA304
Year Taught: 
2019
Semester: 
5
Degree: 
Integrated Degree
School: 
School of Arts and Sciences
Campus: 
Mysuru

'Introduction to Data Structures and Algorithms' is a course offered at the School of Arts and Sciences, Amrita Vishwa Vidyapeetham, Mysuru campus.

To enable the students to learn the Elementary Data Structures and algorithms and to understand the various design and analysis of the algorithms.

Unit I:
Introduction: Overview – How to create programs and analyze them. Arrays – Structures - Ordered List – Representation of arrays – Simple Applications.

Unit II:
Stacks and Queues: Fundamentals – Structures – Operations – Multiple stacks and queues – Applications - Evaluation of Expressions.

Unit III:
Linked Lists: Singly Linked List – Linked Stacks and Queues - The Storage Pool – Applications – Polynomial addition, Sparse Matrices – Doubly Linked List – Dynamic Storage Management – Garbage Collection and Compaction.

Unit IV:
Searching and Sorting: Binary, Sequential and Fibonacci Searching – Internal Sorting: Insertion, Quick, Merge, Heap, Radix sorts – External Sorting: Sorting with Disks – K-way Merging – Sorting with Tapes – Balanced Merge – Poly-phase Merge – Symbol Tables – Static tree – Dynamic Tree – Hash Tables.

Unit V:
Files: Files, Queries and Sequential organization – Indexed Techniques – File Organization: Sequential, Random, Linked Organization – Inverted Files – Cellular Partitions. Introduction to trees and types.

Textbooks:
  1. Fundamentals of Data Structures - Ellis Horowitz and Sartaj Sahni, Galgotia Book Source, 1999.

References:
  1. Programming and Data Structures - Askok N Kamthane, Pearson Education, 2004.