Tags

Jan 24, 2010

Data Structures and Algorithms

Download  Data Structures Lab Manual


Data Structures and Algorithms Oral Question

Download PL Program



Download This Book














               210244: DATA STRUCTURES AND ALGORITHMS
Teaching Scheme ExaminationScheme
Lectures: 4 Hrs/week Theory: 100 Marks
Prerequisite: Fundamentals of Programming Languages (Subject Code: 110013).
· To understand the different ways of data representation.
· To define high level of abstraction of the needed linear data structure and
algorithm.
· To develop the ability to synthesize and analyze algorithms
· To study the representation, implementation and applications of linear
data structures

UNIT I: Review of 'C' [7 Hrs]
Arrays, Pointers: arrays & pointers.
Functions: Parameter passing call by value and call by reference, scope rules,
functions and pointers, function returning pointer and pointer to function, String
manipulations using arrays,pointer to pointer.
Structure and Union: Passing and returning structure as parameter for
function ,structure and pointer.
Recursion: Definition, writing recursive functions & how recursion works.
File handling using C.

UNIT II: [TB 2] [7 Hrs]
Introduction to Algorithm, Data structures & Analysis of algorithms:
Introduction to Data Structures: Concept of data, Data object, Data structure,
Abstract Data Types (ADT), realization of ADT in ‘C’.
Concept of Primitive and non primitive, linear and Non-linear, static and dynamic
,persistent and ephemeral data structures.
Analysis of algorithm: frequency count and its importance in analysis of an
algorithm, Time complexity & Space complexity of an algorithm, Big ‘O’, ‘W’ and
‘q’ notations, Best, Worst and Average case analysis of an algorithm.

UNIT III:[TB 1] [8 Hrs]
Linear Data Structures using Sequential Organization:
Concept of sequential organization, Concept of Linear data structures, arrays as ADT,
Storage representation of array – Row major and Column major & their address
calculation, Multidimensional arrays, Concept of ordered list.
Applications : Polynomial representation using array, Concept of Sparse Matrix, it’s
usage & representation using arrays, Algorithms for sparse matrix operations like
addition, simple transpose, fast transpose & multiplication.
Analysis of the algorithms used.

Unit IV:[TB 1 & TB 2] [8 Hrs]
Sorting and searching techniques:
Need of sorting and searching, sorting order & stability in sorting.
Sorting Techniques: Algorithms for Bubble sort, Selection sort, Insertion sort, Shell
sort, Radix sort, Quick sort and Merge sort.
Analysis of each sorting technique for best, worst and average case, Concept of
Internal & External sorting.
Searching Techniques: Algorithms for Sequential search, Binary search, Fibonacci
search & concept of Index Sequential search, analysis of each searching technique for
best, worst and average case.

UNIT V:[TB 1] [9 Hrs]
Linear Data Structures using Linked Organization:
Limitations of static memory allocation. Dynamic memory allocation in C.
Concept of linked organization, Singly linked list, Doubly linked list, Circular linked
list. Operations like insertion, deletion, traversal & other operations on these data
structures.
Applications: Representation & manipulation of polynomials using circular linked
lists, Application of doubly linked list in dynamic storage management, garbage
collection and compaction. Representation of polynomial using generalized linked list
(implementation not expected), Concept of skip list.
Analysis of the algorithms used.

UNIT VI:[TB 1 & TB 2] [9 Hrs]
Stacks and Queues:
Stacks: Concept of stack as ADT, Representation and implementation of stack using
sequential & linked organization.
Applications: Examples using implicit stack, Simulating recursion using explicit
stack, Arithmetic expression conversion & evaluation, reversing a string, parsing :
well- formed parenthesis checking, concept of multi-stack & it’s representation.
Analysis of the algorithms used.
Queues: Concept of queue as ADT, Representation and implementation of linear
queue & circular queue using sequential & linked organization.
Applications: Josephus problem, Job scheduling, Queue simulation, Categorizing
data, Double ended queue, Multi-queue and Priority queue. Analysis of the algorithms
used.(Implementation not expected)

Text Books (TB):
1. R. Gilberg, B. Forouzan, “Data Structures: A pseudo code approach with C”,
Cenage Learning, ISBN 9788131503140.
2. E. Horowitz , S.Sahani, S.Anderson-Freed ““Fundamentals of Data Structures in
C”, Universities Press ,2008 ,ISBN 10:8173716056

Reference Books(RB):
1. A. Aho, J. Hopcroft, J. Ulman, “Data Structures and Algorithms”, Pearson
Education, 1998, ISBN-0-201-43578-0
2. Y. Langsam, M. Augenstin and A. Tannenbaum, “Data Structures using C and
C++”, 2nd Edition, Prentice Hall of India, 2002, ISBN-81-203-1177-9
3. J. Tremblay, P. Soresan, “An introduction to data structures with Applications”,
2nd edition, Tata McGraw-Hill International Editions, 1984, ISBN-0-07-462471-7.

No comments:

Post a Comment