Pages

Sunday, 1 October 2017

Syllabus





 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


Faculty of Engineering                                                                              Savitribai Phule Pune University, Pune



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