DATA STRUCTURES & ALGORITHMS THROUGH ‘C’

Paper Code: 
BCA 202
Credits: 
04
Periods/week: 
04
Max. Marks: 
100.00
Objective: 

This module will help the student to learn the logical model of a particular organization of data effectively. 

 

12.00
Unit I: 

Introduction to Data Structure: Information and meaning, Arrays (one, two and multi dimensional), Row major and column major form, representation of strings, structure and unions in C along with their implementation, allocation of storage and scope of variable.

C File Processing: Files and streams, Sequential access files (Creation, Reading and Writing).

Algorithm definition and its characteristics, Abstract data types, ADT for rational number, Sequence as value definition.

 

12.00
Unit II: 

Linked list: Introduction to linked list, linked list as a data structure, creation, insertion and deletion of nodes from a list, get node and free node operations, concept of header nodes, array implementation of lists and its limitation, Allocating and freeing dynamic memory, comparing dynamic and array implementation of lists.

Definition and C implementation: Singly linked lists, Doubly Linked lists, Circular linked lists, Circular Double linked lists

 

12.00
Unit III: 

Stack: Definition, Primitive operations, representing stack in C, implementing the push and pop operation, testing exceptional conditions, infix, postfix and prefix expression (definition and examples),infix to prefix or postfix,  evaluation of postfix expression  (Algorithm and C implementation). Linked implementation of stacks, Stack as Circular List

 

12.00
Unit IV: 

Recursion definition and processes, algorithms, recursion in C, Writing recursive programs (e.g.  Factorial, multiplication, Fibonacci sequence, Binary search, Towers of Hanoi Problem), Properties of recursive definition or Algorithms, Efficiency of recursion.

 

12.00
Unit V: 

Queues: Introduction, Definition of Queue and its sequential representation, C implementation of queues, insert and remove operation, Applications and Priority queues. Linked implementation of queues, linked implementation of priority queue, Queue as circular list.

Sorting: Exchange Sorts (Bubble sort, Quick sort), Straight Selection sort, and Insertion sorts.

Searching: Linear and Binary Search.

 

ESSENTIAL READINGS: 
  1. Y. Langsam, M. J. Augenstein, A.M. Tenenbaum, “Data Structure using C, C++”, second edition, Prentice Hall of India, 1999.
  2. S. Lipschutz,  “Data Structures”, Schaum’s outline series, Tata McGraw Hill Edition, 2002

 

REFERENCES: 
  1. E. Horowitz and S. Sahani, “Fundamentals of Data Structures”, Galgotia Book source Pvt. Ltd, 2000
  2. Robert L.Kruse “Data Structures and Program Design”,  Third edition, PHI
  3. P. S. Deshpande and O.G. Kakde, “C & Data Structure”, Wiley Dreamtech, 1st Edition, 2003

 

Academic Year: