Algorithms & Data Structures (Theory)

Paper Code: 
24CBCA203
Credits: 
03
Periods/week: 
03
Max. Marks: 
100.00
Objective: 

The course will enable the students to

  1. Learn the concepts of data organization in effective manner.
  2. Understand Data Structures, Arrays, Strings, Pointers, Structures & Unions, Algorithms &  their implementation.

 

Course Outcomes: 

Course

Learning Outcome

(at course  level)

Learning and teaching strategies

Assessment Strategies

Course

 Code

Course

Title

24CBCA

       301

Algorithms & Data Structures

(Theory)

 

CO67.Examine algorithmic efficiency and complexity across Arrays, Strings, Pointers, Structure and Abstract Data Types.

CO68.  Utilise recursion to solve diverse problems effectively, including analyzing linear and binary search algorithms for their efficiency and applicability.

CO69. Implement Stack operations and assess their applications.

CO70. Apply recursion and solve various   problems using recursion and Analyse Linear & Binary Search.

CO71.Compare various sorting and searching algorithms.

CO72. Contribute effectively in course-specific interaction.

Approach in teaching:

Interactive Lectures, Discussion,

Reading

Assignments

Demonstrations.

 

Learning activities for the students:

Self-learning assignments, Effective questions, Seminar presentation.

Class test, Semester end examinations, Quiz, Assignments, Presentation.

 

 

9.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, allocation of storage and scope of variable, String Processing, Pointers, Structures & unions. C File Processing: Files and streams, Sequential access files (Creation, Reading and Writing). Algorithm definition and its characteristics, Abstract data types, Order of Complexity: Big O notation.

 

9.00
Unit II: 

Linked list:

Introduction to linked list, linked list as a data structure, creation, insertion and deletion of nodes from a list, getnode 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. Doubly Linked lists, Circular linked lists and Circular Double linked lists. C implementation: Singly & circular linked lists,

 

9.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 postfix, evaluation of postfix expression (Algorithm and C implementation). Linked implementation of stacks.

 

9.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 and similar problems), Properties of recursive definition or Algorithms, Efficiency of recursion. Searching: Linear and Binary Search.

 

9.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. Sorting: Exchange Sorts (Bubble sort, Quick sort), Straight Selection sort, and Insertion sort.

 

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

 

REFERENCES: 

SUGGESTED READINGS:

1.  E. Horowitz and S. Sahani, “Fundamentals of Data Structures”, Galgotia Book source Pvt. Ltd, 2008

2.  Robert L.Kruse, “Data Structures and Program Design”, Third edition, PHI

e -RESOURCES:

1.  http://www.nptel.ac.in/video.php?subjectId=106105085.

2.  http://lcm.csa.iisc.ernet.in/dsa/dsa.html.

3.  http://freevideolectures.com/Course/2519/C-Programming-and-Data-Structures.

4.  http://freevideolectures.com/Course/2279/Data-Structures-And-Algorithms

 JOURNALS:

1.  Arab Journal of Basic and Applied Sciences,              https://www.tandfonline.com/toc/tabs20

2.  Journal of the Brazilian Computer Society, https://journal-bcs.springeropen.com/


 

Academic Year: