Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Applied Electronics and Instrumentation

DATA STRUCTURES AND CATEGORY L T P CREDIT


AET 473
ALGORITHMS PEC 2 1 0 3

Preamble: This course helps the student to have an idea of Data Structures and Algorithms. Students
are introduced to the basic design consideration of algorithms. Discussion on various data structures,
algorithms and their applications are also included as part of the course to get an overall idea on this
topic.
Prerequisite: Nil

Course Outcomes: After the completion of the course the student will be able to

CO 1 Analyse various data structures and their applicability


CO 2 Use appropriate data structures like arrays, linked lists, stacks and queues to solve
real world problems efficiently.
CO 3 Comprehend and implement various techniques for searching and sorting
CO 4 Represent and manipulate data using nonlinear data structures like trees and
graphs to design algorithms for various applications.
CO 5 Identify the appropriate data structure to design efficient algorithm for the given
application
CO 6 Illustrate various hashing techniques.

Mapping of course outcomes with program outcomes

PO PO PO PO PO PO PO PO PO PO PO PO
1 2 3 4 5 6 7 8 9 10 11 12
CO 3 2 3
1
CO 3 2 3
2
CO 3 2 3
3
CO 3 3 3 3
4
CO 3 3 3 3
5
CO 3 3 3 3
6

Assessment Pattern

Bloom’s Category Continuous Assessment End Semester Examination


Tests
1 2
Remember 10 10 10
Understand 20 20 20
Apply 20 20 70
Analyse
Evaluate
Create
Applied Electronics and Instrumentation

Mark distribution

Total CIE ESE ESE


Marks Duration
150 50 100 3 hours

Continuous Internal Evaluation Pattern:


Attendance : 10 marks
Continuous Assessment Test (2 numbers) : 25 marks
Assignment/Quiz/Course project : 15 marks

End Semester Examination Pattern: There will be two parts; Part A and Part B. Part A contain 10
questions with 2 questions from each module, having 3 marks for each question. Students should
answer all questions. Part B contains 2 questions from each module of which student should answer
any one. Each question can have maximum 2 sub-divisions and carry 14 marks.

Course Level Assessment Questions


Course Outcome 1 (CO1):
1. Differentiate between primitive and non-primitive data structures with the help of examples.
2. What do you mean by asymptotic notations?

Course Outcome 2 (CO2):


1. Differentiate between stacks and queues.

Course Outcome 3 (CO3):


1. Differentiate between linear search and binary search.
2. What are hash tables?

Course Outcome 4 (CO4):


1. What is breadth-first search?
2. What are the internal and external sorting algorithms?

Course Outcome 5 (CO5):


1. Characteristics of dynamic programming.
2. What is backtracking
Applied Electronics and Instrumentation

Syllabus

Module I
Introduction to Data Structures: Basic Terminology, Elementary Data Structure Organization,
Classification of Data Structures: Primitive and Non-primitive, Linear and Non-linear, Operations
on Data structures, Asymptotic notations, Notion of recursive algorithms, Recurrence relations

Module II
Linear Data Structures: Introduction, variations, operations and applications of array, queue, stack
and linked list

Array: Representation of arrays, Applications of arrays, sparse matrix and its representation.

Stack: Stack-Definitions & Concepts, Operations on Stacks, Applications of Stacks, Polish


Expression, Reverse Polish Expression and Their Compilation, Recursion, Tower of Hanoi

Queue: Representation of Queue, Operations on Queue, Circular Queue, Priority Queue, Array
representation of Priority Queue, Double Ended Queue, Applications of Queue

Linked lists: - singly linked list, doubly linked list, Circular linked list, operations on linked list,
linked list with header nodes

Module III
Non-Linear Data Structures: Concepts and types of trees, tree traversal algorithms, search trees,
Priority queue implementation and applications
Graph-Matrix Representation of Graphs, Elementary Graph operations, (Breadth First Search, Depth
First Search, Spanning Trees, Shortest path, Minimal spanning tree).

Module IV
Indexing structure: Concepts and implementations of B-Tree, B+ tree, Hashing, Dictionary

Graph Algorithms: Depth-first search, strongly connected components, Breadth-first search,


Dijkstra's algorithm

Searching and Sorting Algorithms: Linear search, Binary search, Hash tables, internal and external
sorting algorithms, sorting without comparison.

Module V
Algorithm Design: Greedy algorithm, Divide and conquer, Dynamic programming, Backtracking,
Branch and bound, Randomized algorithms

Algorithm Analysis: Asymptotic notations, Recurrences, NP complete problems

Text Books
1. Samanta D., Classic Data Structures, Prentice Hall India, 2/e, 2009.
2. Richard F. Gilberg, Behrouz A. Forouzan, Data Structures: A Pseudocode Approach with
C, 2/e, Cengage Learning, 2005.
3. Aho A. V., J. E. Hopcroft and J. D. Ullman, Data Structures and Algorithms, Pearson
Publication,1983.
Applied Electronics and Instrumentation

Reference Books

1. Horwitz E., S. Sahni and S. Anderson, Fundamentals of Data Structures in C, University


Press (India), 2008.
2. Tremblay J. P. and P. G. Sorenson, Introduction to Data Structures with Applications, Tata
McGraw Hill, 1995.
3. Peter Brass, Advanced Data Structures, Cambridge University Press, 2008
4. Wirth N., Algorithms + Data Structures = Programs, Prentice Hall, 2004.

Course Contents and Lecture Schedule

No Topic No. of
Lectures
1 MODULE 1
1.1 Introduction to Data Structures: Basic Terminology, Elementary Data
2
Structure Organization
1.2 Classification of Data Structures: Primitive and Non-primitive, Linear and
2
Non-linear
1.3 Operations on Data structures, Asymptotic notations, Notion of recursive
2
algorithms, Recurrence relations
2 MODULE 2

2.1 Introduction, variations, operations and applications of array, queue, stack


and linked list, operations and applications of array, queue, stack and linked 2
list
2.2 Array: Representation of arrays, Applications of arrays, sparse matrix and
its representation., 2

2.3 Stack: Stack-Definitions & Concepts, Operations On Stacks, Applications


of Stacks, Polish Expression, Reverse Polish Expression And Their 2
Compilation, Recursion, Tower of Hanoi
2.4 Queue: Representation Of Queue, Operations On Queue, Circular Queue,
Priority Queue, Array representation of Priority Queue, Double Ended 2
Queue, Applications of Queue
2.5 Linked lists:- singly linked list, doubly linked list, Circular linked list,
2
operations on linked list, linked list with header nodes
3 MODULE 3

3.1 Concepts and types of trees, tree traversal algorithms, search trees 2
3.2 Priority queue implementation and applications
2
3.3 Graph-Matrix Representation Of Graphs, Elementary Graph operations, (
Breadth First Search, Depth First Search, Spanning Trees, Shortest path,
3
Minimal spanning tree ).

4 MODULE 4
4.1 Indexing structure: Concepts and implementations of B-Tree, B+ tree,
Hashing, Dictionary 2

4.2 Graph Algorithms: Depth-first search, strongly connected components, 2


Applied Electronics and Instrumentation

Breadth-first search, Dijkstra's algorithm


4.3 Searching and Sorting Algorithms: Linear search, Binary search, Hash
2
tables, internal and external sorting algorithms, sorting without comparison.
5 MODULE 5

5.1 Algorithm Design: Greedy algorithm, Divide and conquer, Dynamic


programming, Backtracking, Branch and bound, Randomized algorithms 4

5.2 Algorithm Analysis : Asymptotic notations, Recurrences, NP complete


4
problems
Applied Electronics and Instrumentation

MODEL QUESTION PAPER


APJ ABDUL KALAM TECHNOLOGICAL UNIVERSITY
SEVENTH SEMESTER B.TECH. DEGREE EXAMINATION
Programme: Applied Electronics & Instrumentation Engineering/ Electronics & Instrumentation
Engineering
Course Code: AET 473
Course Name: Data Structures and Algorithms
Max. Marks: 100 Duration: 3 Hours
PART A
Answer all questions, each carries 3 marks. Marks

1 What do you mean by asymptotic notations? Explain briefly about the asymptotic (3)
notations that are commonly used to calculate the running time complexity of an
algorithm?
2 Differentiate between primitive and non-primitive data structures with the help of (3)
examples
3 Write an algorithm/pseudocode to delete a given element k from an array A of n (3)
elements? Assume that the element k is always present in A.
4 How will you represent a polynomial 3x2 +2xy2 +5y3 +7yz using a singly linked (3)
list?
5 Draw the binary tree whose sequential representation is given below. (3)
1 2 3 4 5 6 7 8 9 10 11 12 13
14 15

A B C D —E F —G ——H ——I

6 Define (i) Tree (ii) Binary Tree. (3)


7 Explain efficiency of (i) Quick sort (ii) Binary searching. (3)
8 Write an algorithm to search for a substring in a given string. (3)
9 Explain backtracking with an example. (3)
10 What are the steps in dynamic programming? (3)

PART B
Answer any one full question from each module, each carries14 marks.
MODULE I

11 a) Explain in detail the substitution method for solving recurrence relations (7)
b) Explain the operations on Data structures with examples. (7)
12 a) What is a recursive algorithm? Explain different types of recursive algorithms with (6)
examples.
b) Explain linear and nonlinear data structures. (8)

MODULE II
13 a) Assume that a stack is represented using a linked list. Write algorithms for the (7)
following operations: - (i) Push (ii) Pop
b) Explain the structure of Doubly Linked List (DLL). Differentiate the difference (7)
between DLL and Doubly Circular Linked List (DCLL). Explain the procedures to
insert a node in DLL at the beginning and at the last.
Applied Electronics and Instrumentation

14 a) Write algorithms to perform the following operations on a doubly linked list. (i) (7)
Insert a node with data ‘y’ after a node whose data is ‘x’. (ii) Delete a node whose
data is ‘s’ . (iii) Insert a node with data ‘a’ as the 1st node of the list.
b) Explain different types of queues and their applications. (7)

MODULE III
15 a) Which are the elementary graph operations? Explain in detail. (7)
b) What is a priority queue? Implement using a linked list. (7)
16 a) Explain the various ways in which a graph can be represented bringing out the (7)
advantages and disadvantages of each representation.
b) Explain various tree traversal algorithms with examples. (7)

MODULE IV
17 a) Write an algorithm to perform selection sort in an array. Using the above selection (6)
sort algorithm, sort the input file [25, 7, 46, 11, 85].
b) With the help of an algorithm/pseudocode and suitable example, explain how you (8)
would perform binary search on an array of n elements. Find the time complexity of
binary search algorithm.
18 a) Explain in brief how the shortest path is calculated using Dijkstra’s algorithm. (7)
b) Write an algorithm to perform binary search on a given set of ‘n’ numbers. Using (7)
the algorithm search for the element 23 in the set [12, 23, 34, 44, 48, 53, 87, 99]

MODULE V
19 a) Explain divide-and-conquer approach in detail. (7)
b) Explain greedy algorithm with example. Also explain its advantages and (7)
disadvantages.
20 a) Explain dynamic programming in detail with example. (7)
b) What is meant by NP-complete problems? Explain in detail with examples. What are (7)
the techniques that can be applied to solve computational problems in general?
****

You might also like