Savitribai Phule Pune University
|
|||
Second Year of Computer Engineering (2015 Course)
|
|||
210243: Data Structures and Algorithms
|
|||
Teaching Scheme:
|
Credit
|
Examination
Scheme:
|
|
TH:
04 Hours/Week
|
04
|
In-Sem (online): 50 Marks
|
|
Prerequisites:
- FPL I and FPL II
|
End-Sem (paper): 50 Marks
|
||
Course Objectives:
·
To understand the standard
and abstract data representation methods.
·
To acquaint with the structural constraints and advantages in
usage of the data.
·
To understand the memory requirement for various data
structures.
·
To operate on the various structured data.
·
To understand various data searching and sorting methods with
pros and cons.
·
To understand various algorithmic strategies to approach the
problem solution.
Course Outcomes:
On completion of the course, student
will be able to–
·
To
discriminate the usage of various structures in approaching the problem
solution.
·
To
design the algorithms to solve the programming problems.
·
To
use effective and efficient data structures in solving various Computer
Engineering domain problems.
·
To
analyze the problems to apply suitable algorithm and data structure.
·
To
use appropriate algorithmic strategy for better efficiency
Course Contents
Unit
I
|
Introduction
to Algorithm and Data Structures
|
09 Hours
|
||||
Algorithms
|
-
|
Problem
Solving, Introduction to Algorithms,
Characteristics of
|
algorithms,
|
Algorithm design tools: Pseudo code and flowchart,
Analysis of Algorithms, Complexity of algorithms- Space complexity, Time
complexity, Asymptotic notation- Big-O, Theta and Omega, standard measures of
efficiency.
Data
Structures- Data
structure, Abstract Data Types (ADT), Concept of linear and Non-linear, static
and dynamic, persistent and ephemeral data structures, and relationship among
data, data structure, and algorithm, From Problem to Program.
Algorithmic
Strategies- Introduction
to algorithm design strategies- Divide and Conquer, and Greedy strategy.
Recurrence
relation - Recurrence
Relation, Linear Recurrence Relations, With constant Coefficients,
Homogeneous Solutions. Solving recurrence relations
Unit
II
|
Linear
Data Structures Using Sequential Organization
|
09
Hours
|
||
Sequential Organization,
Linear Data Structure Using Sequential Organization, Array as an
Abstract Data Type, Memory Representation and
Address Calculation, Inserting an element into an array, Deleting an element,
Multidimensional Arrays, Two-dimensional arrays, n- dimensional arrays, Concept
of Ordered List, Single Variable Polynomial, Representation using arrays,
Polynomial as array of structure, Polynomial addition, Polynomial
multiplication, Sparse Matrix, Sparse matrix representation, Sparse matrix
addition, Transpose of sparse matrix, String Manipulation Using Array. Case Study- Use of sparse matrix in Social Networks and Maps.
Unit
III
|
Linked
Lists
|
09
Hours
|
||
Syllabus
for Second Year of Computer Engineering
|
#10/65
|
Concept, Comparison of sequential and
linked organizations, Primitive operations, Realization of
Linked Lists,
Realization of linked list using arrays, Dynamic Memory Management, Linked list
using dynamic memory management, Linked List Abstract Data Type, Linked list
operations, Head pointer and header node, Types of linked list- Linear
and circular linked lists, Doubly Linked List and operations, Circular Linked
List, Singly circular linked list, Doubly circular linked list, Polynomial
Manipulations - Polynomial addition, Multiplication of two polynomials
using linked list. Generalized Linked List (GLL) concept, representation
of polynomial and sets using GLL. Case Study- Garbage Collection.
Unit
IV
|
Stacks
|
09
Hours
|
||
Stacks- concept,
Primitive operations, Stack Abstract Data Type, Representation of Stacks Using
Sequential Organization, stack operations, Multiple
Stacks, Applications of Stack- Expression Evaluation and Conversion, Polish
notation and expression conversion, Need for prefix and postfix expressions,
Postfix expression evaluation, Linked Stack and Operations.
Recursion-
concept, variants of recursion- direct,
indirect, tail and tree, Backtracking algorithmic strategy, use of stack
in backtracking. Case Study- 4 Queens problem, Android-multiple
tasks/multiple activities and back stack.
Unit V
|
Queues
|
09
Hours
|
Concept, Queue as
Abstract Data Type, Realization of Queues Using Arrays , Circular Queue,
Advantages of using circular queues, Multi-queues,
Deque, Priority Queue, Array implementation of priority queue, Linked Queue and
operations. Case study-
Priority queue
in bandwidth management.
Unit
VI
|
Sorting
and Searching
|
09
Hours
|
||
Searching- Search
Techniques, Sequential search, variant of sequential search- sentinel search,
Binary search, Fibonacci search. Case Study-
Use of Fibonacci search in non -uniform access memory storage and in
Optimization of Unimodal Functions. Sorting- Types of sorting- Internal
and external sorting, General sort concepts-sort order, stability, efficiency,
number of passes, Sorting methods- Bubble sort, Insertion sort, Selection sort,
Quick sort, Heap sort, Shell sort, Bucket sort, Radix sort, Comparison of All
Sorting Methods. Case Study- Timsort as a hybrid stable sorting
algorithm.
Books:
Text:
1. Brassard &
Bratley, ―Fundamentals of Algorithmics‖, Prentice Hall India/Pearson Education,
ISBN 13-9788120311312.
2. Horowitz and
Sahani, ―Fundamentals of Data Structures in C++‖, University Press, ISBN 10:
0716782928 ISBN 13: 9780716782926.
3. Goodrich, Tamassia,
Goldwasser, ―Dat Structures and Algorithms in C++‖, Wiley publication,
ISBN-978-81-265-1260-7
References:
1.
R. Gillberg, B. Forouzn, ―Dat Structures: A Pseudo code approach
with C‖, Cenage Learning, ISBN 9788131503140.
2.
Horowitz, Sahani and Rajshekaran, ―Fundamentals of Computer
Algorithms‖, University Press, ISBN-13, 9788175152571.
3.
Yedidyah Langsam, Moshe J Augenstein, Aron M Tenenbaum, ―Dat
Structures using C and C++‖, Pearson Education, ISBN 81-317-0328-2.
4.
A Michael Berman, ―Dat Structures via C++: Objects by
Evolution‖, Oxford University Press, ISBN:0-19-510843-4.
5.
M. Weiss, ―Data Structures and Algorithm Analysis in C++‖, 2nd edition, Pearson Education, 2002, ISBN-81-7808-670-0.
No comments:
Post a Comment