0% found this document useful (0 votes)
37 views6 pages

AI & DS Sylabus Book - PMD

uiuhkjnlk

Uploaded by

ZainaZaki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views6 pages

AI & DS Sylabus Book - PMD

uiuhkjnlk

Uploaded by

ZainaZaki
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Scheme of Instructions & Detailed Syllabus

DATA STRUCTURES WITH C


Course Code Course Title Core / Elective
SES202IT Data Structures using C Core
Contact Hours per Week CIE SEE Credits
Pre Requisite L T D P
- 3 - - - 40 60 3

Course Objectives :
The students will try to learn :
1. 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.
2. To provide knowledge of basic abstract data types (ADT) and associated algorithms:
stacks, queues, lists, tree, graphs, hashing and sorting, selection and searching.
3. The fundamentals of how to store, retrieve, and process data efficiently.
4. To provide practice by specifying and implementing these data structures and algorithms
in C.
5. Understand essential for future programming and software engineering courses.

Course Outcomes :
After successful completion of the course, students will be able to:
1. Carryout the analysis of a range of algorithms in terms of algorithm analysis and express
algorithm complex it using the O notation (Understand).
2. Make use of recursive algorithm design technique in appropriate contexts (Apply).
3. Represent standard ADTs by means of appropriate data structures (Understand).
4. Select appropriate sorting technique for given problem (Understand).
5. Select appropriate searching technique for given problem (Understand).
6. Implement standard searching and sorting algorithms; including binary search; merge
sort and quick sort; and their complexities (Apply).
7. Design and implement linked lists, stacks and queues in C (Apply).
8. Explain the use of basic data structures such as arrays, stacks, queues and linked lists in
program design (Understand).
9. Extend their knowledge of data structures to more sophisticated data structures to solve
problems involving balanced binary search trees, AVL Trees, B-trees and B+ trees,
hashing, and basic graphs.
53
Scheme of Instructions & Detailed Syllabus
10. Design and implement tree structures in C (Apply).
11. Compare and contrast the benefits of dynamic and static data structures implementations
and choose appropriate data structure for specified problem domain (Understand).
12. Quickly determine and explain how efficient an algorithm or data structure will be,
apply appropriate data structures for solving computing problems with respect to
performance (Analyze).

UNIT - I
INTRODUCTION TO DATA STRUCTURES, SEARCHING AND SORTING
Basic Concepts : Introduction to data structures, classification of data structures,
operations on datastructures; 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; SortingTechniques: Bubble,
Selection, Insertion, Quick and Heap Sort and comparison of sorting algorithms.

UNIT - II
LINEAR DATA STRUCTURES
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 endedqueue (dqueue).

UNIT - III
LINKED LISTS
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.

UNIT - IV
NON LINEAR DATA STRUCTURES
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:

54
Scheme of Instructions & Detailed Syllabus
Basic concept, graph terminology, Graph Representations - Adjacency matrix, Adjacency
lists, graph implementation, Graphtraversals – BFS, DFS, Application of graphs, Minimum
spanning trees – Prims and Kruskal algorithms.

UNIT - V
BINARY TREES AND HASHING
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.

Text Books :

1. Aaron M. Tenenbaum, Yedidyah Langsam, and Moshe J. Augenstein, Data Structures


Using C, Pearson Education India
2. Reema Thareja, Data Structures Using C, Oxford, Second Edition, 2014

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

55
Scheme of Instructions & Detailed Syllabus

DATA STRUCTURES WITH C LABORATORY


Course Code Course Title Core / Elective
SES212AD Data Structures using C Lab Core
Contact Hours per Week CIE SEE Credits
Pre Requisite L T D P
- - - - 2 40 60 1

Course Objectives :
1. Understand various data representation techniques in the real world.
2. Implement linear and non-linear data structures.
3. Analyze various algorithms based on their time and space complexity.
4. Develop real-time applications using suitable data structure.
5. Identify suitable data structure to solve various computing problems.

Course Outcomes :
1. Understand the concept of data structures, C Programming and apply algorithm for solving
problems like Sorting, searching, insertion and deletion of data.
2. Understand linear data structures for processing of ordered or unordered data.
3. Explore various operations on dynamic data structures like single linked list, circular linked list
and doubly linked list.
4. Explore the concept of non linear data structures such as trees and graphs.
5. Understand the binary search trees, hash function, and concepts of collision and its resolution
methods.

LIST OF EXPERIMENTS
Week - 1 LINKED LISTS
Write a C program that uses functions to perform the following:
a. Create a singly linked list of integers.
b. Delete a given integer from the above linked list.
c. Display the contents of the above list after deletion.
d. Check whether two given lists are containing the same data.

Week - 2 LINKED LISTS


Write a C program that uses functions to perform the following:
a. Create a double linked list of integers.
b. Delete a given integer from the above double linked list.
c. Display the contents of the above list after deletion.
d. Find the largest element in a given doubly linked list.
66
Scheme of Instructions & Detailed Syllabus
Week - 3 STACK
a) Write a C program to implement stack using linked list.
b) Write a C program that uses stack operations to convert a given infix expression into its postfix
equivalent, implement the stack using an array.
c) Write a C program to reverse the elements of the stack using recursion.

Week - 4 QUEUE
Write C programs to implement a double ended queue ADT using
a. Array
b. Double linked list

Week - 5 BINARY SEARCH TREE


Write a C program that uses functions to perform the following:
a. Create a binary search tree of characters.
b. Traverse the above binary search tree recursively in post order.
c. *Count the number of nodes in the binary search tree.

Week - 6 BINARY SEARCH TREE


Write a C program that uses functions to perform the following:
a. Create a binary search tree of integers
b. Traverse the above binary search tree non recursively in inorder

Week - 7 SORTING
Write C programs for implementing the following sorting methods to arrange a list of integers in
ascending order.
a. Insertion sort
b. Merge sort

Week - 8 SORTING

Week - 8 Write C programs for implementing the following sorting methods to arrange a list of
integers in ascending order.
a. Quick sort
b. Selection sort

Week - 9 SORTING
Write a C program to perform the following operation:
a. Insertion into a B-Tree.
b. Heap Sort.

67
Scheme of Instructions & Detailed Syllabus
Week - 10 HASHING
Write a C program to implement all the functions of a dictionary (ADT) using hashing.

Week - 11 HASHING
a) Write a C program for implementing Knuth-Morris-Pratt pattern matching algorithm.
b) Write a C program to sort a given list of strings.

Week - 12 GRAPH TRAVERSAL


Write C programs for implementing the following graph traversal algorithms:
a. Depth first traversal
b. Breadth first traversal

REFERENCE BOOKS :
1. Gilberg and Forouzan, Data Structure- A Pseudo code approach with C, Thomson publication
2. Data structure in C, Tanenbaum, PHI publication / Pearson publication
3. Pai, Data Structures & Algorithms; Concepts, Techniques & Algorithms, Tata McGraw Hill.

68

You might also like