Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Data Structures

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

DATA STRUCTURES

III Semester: Common for all branches

Course Code Category Hours / Week Credits Maximum Marks


L T P C CIA SEE Total
ACSC08 Core
3 0 0 3 30 70 100
Contact Classes: 45 Tutorial Classes: Nil Practical Classes: Nil Total Classes: 45
Prerequisites: Python Programming
I. COURSE OVERVIEW:
The course covers some of the general-purpose data structures and algorithms, and software development. Topics
covered include managing complexity, analysis, static data structures, dynamic data structures and hashing
mechanisms. The main objective of the course is to teach the students how to select and design data structures and
algorithms that are appropriate for problems that they might encounter in real life. This course reaches to student
by power point presentations, lecture notes, and lab which involve the problem solving in mathematical and
engineering areas.

II. COURSE OBJECTIVES:


The students will try to learn:
I. To provide students with skills needed to understand and analyze performance trade-offs of different
algorithms / implementations and asymptotic analysis of their running time and memory usage.
II. To provide knowledge of basic abstract data types (ADT) and associated algorithms: stacks, queues, lists,
tree, graphs, hashing and sorting, selection and searching.
III. The fundamentals of how to store, retrieve, and process data efficiently.
IV. To provide practice by specifying and implementing these data structures and algorithms in Python.
V. Understand essential for future programming and software engineering courses.

III. COURSE OUTCOMES:


After successful completion of the course, students should be able to:
CO 1 Interpret the complexity of algorithm using the asymptoticnotations. Understand
CO 2 Select appropriate searching and sorting technique for a givenproblem. Apply
CO 3 Construct programs on performing operations on linear and nonlinear data Apply
structures for organization of a data
CO 4 Make use of linear data structures and nonlinear data structures solving real Apply
time applications.
CO 5 Describe hashing techniques and collision resolution methods for efficiently Understand
accessing data with respect to performance.
CO 6 Compare various types of data structures; in terms of implementation, operations Analyze
and performance.

IV. SYLLABUS:
MODULE – I: INTRODUCTION TO DATA STRUCTURES, SEARCHING AND SORTING (09)
Basic concepts: Introduction to data structures, classification of data structures, operations on data structures;
Algorithm Specification, 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, Searching techniques: Linear and Binary search; Sorting techniques: Bubble, Selection, Insertion,
Quick and Merge Sort and comparison of sorting algorithms.

MODULE – II: LINEAR DATA STRUCTURES (09)


Stacks: Stack ADT, definition and operations, Implementations of stacks using array, applications of stacks,
Arithmetic expression conversion and evaluation; Queues: Primitive operations; Implementation of queues using
Arrays, applications of linear queue, circular queue and double ended queue (deque).

231 | P a g e
MODULE – III: LINKED LISTS (09)
Linked lists: Introduction, singly linked list, representation of a linked list in memory, operations on a single linked
list; Applications of linked lists: Polynomial representation and sparse matrix manipulation.

Types of linked lists: Circular linked lists, doubly linked lists; Linked list representation and operations of Stack,
linked list representation and operations of queue.

MODULE - IV NON LINEAR DATA STRUCTURES (09)


Trees: Basic concept, binary tree, binary tree representation, array and linked representations, binary tree traversal,
binary tree variants, threaded binary trees, application of trees, Graphs: Basic concept, graph terminology, Graph
Representations - Adjacency matrix, Adjacency lists, graph implementation, Graph traversals – BFS, DFS,
Application of graphs, Minimum spanning trees – Prims and Kruskal algorithms.

MODULE - V BINARY TREES AND HASHING (09)


Binary search trees: Binary search trees, properties and operations; Balanced search trees: AVL trees; Introduction
to M-Way search trees, B trees; Hashing and collision: Introduction, hash tables, hash functions, collisions,
applications of hashing.

V. TEXT BOOKS:
1. Rance D. Necaise, “Data Structures and Algorithms using Python”, Wiley Student Edition.
2. Benjamin Baka, David Julian, “Python Data Structures and Algorithms”, Packt Publishers, 2017.

VI. REFERENCE BOOKS:


1. S. Lipschutz, “Data Structures”, Tata McGraw Hill Education, 1 st Edition, 2008.
2. D. Samanta, “Classic Data Structures”, PHI Learning, 2 nd Edition, 2004.

VII. WEB REFERENCES:


1. https://www.tutorialspoint.com/data_structures_algorithms/algorithms_basics.htm
2. https://www.codechef.com/certification/data-structures-and-algorithms/prepare
3. https://www.cs.auckland.ac.nz/software/AlgAnim/dsToC.html
4. https://online-learning.harvard.edu/course/data-structures-and-algorithms

232 | P a g e

You might also like