TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

Data Structure and Algorithms

Data Structures and Algorithms focuses on organizing data efficiently and designing step-by-step procedures to solve problems effectively. It covers fundamental data structures such as arrays, linked lists, stacks, queues, trees, and graphs, along with algorithms for searching, sorting, and optimization, forming a core foundation for software development and technical interviews.

Select University

TUPUPoUFWU

Select Program

BSC-CSITBDSBCA-OLDBITBCT-NEW

TabFlux . Data Structures and Algorithms . TU . BSC-CSIT

Data Structures and Algorithms

0%

Course Title: Data Structures and Algorithms

Course No: CSC211

Nature of the Course: Theory + Lab

Semester: 3

Full Marks: 60 + 20 + 20

Pass Marks: 24 + 8 + 8

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction to Data Structures and Algorithms
4 hrs
1.1. Foundations
  • Data types
  • Data structure
  • Abstract data type
1.2. Dynamic memory allocation in C
1.3. Algorithms
  • Introduction to algorithms
  • Asymptotic notations
  • Common functions
2. Stack
4 hrs
2.1. Stack fundamentals
  • Basic concept of stack
  • Stack as an ADT
  • Stack operations
  • Stack applications
2.2. Expression processing
  • Conversion from infix to postfix expression
  • Conversion from infix to prefix expression
  • Evaluation of postfix expression
  • Evaluation of prefix expression
3. Queue
4 hrs
3.1. Queue fundamentals
  • Basic concept of queue
  • Queue as an ADT
  • Primitive operations in queue
3.2. Types of queue
  • Linear queue
  • Circular queue
  • Priority queue
3.3. Queue applications
4. Recursion
3 hrs
4.1. Recursion concepts
  • Principle of recursion
  • Comparison between recursion and iteration
  • Tail recursion
4.2. Classic problems
  • Factorial
  • Fibonacci sequence
  • GCD
  • Tower of Hanoi (TOH)
4.3. Applications and efficiency of recursion
5. Lists
8 hrs
5.1. List fundamentals
  • Basic concept of list
  • List as an ADT
  • Array implementation of list
  • Linked list
5.2. Types of linked list
  • Singly linked list
  • Doubly linked list
  • Circular linked list
5.3. Linked list operations
  • Node creation
  • Insertion at beginning
  • Insertion at end
  • Insertion at specified position
  • Deletion from beginning
  • Deletion from end
  • Deletion from specified position
5.4. Stack and queue as linked list
6. Sorting
8 hrs
6.1. Sorting fundamentals
  • Introduction to sorting
  • Internal sort
  • External sort
6.2. Comparison sorting algorithms
  • Bubble sort
  • Selection sort
  • Insertion sort
  • Shell sort
6.3. Divide and conquer sorting algorithms
  • Merge sort
  • Quick sort
  • Heap sort
6.4. Efficiency of sorting algorithms
7. Searching and Hashing
6 hrs
7.1. Searching fundamentals
  • Introduction to searching
  • Sequential search
  • Binary search
7.2. Efficiency of search algorithms
7.3. Hashing
  • Hash function
  • Hash tables
  • Collision resolution techniques
8. Trees and Graphs
8 hrs
8.1. Tree fundamentals
  • Concept and definitions
  • Basic operations in binary tree
  • Tree height, level and depth
8.2. Binary search tree
  • Insertion
  • Deletion
  • Traversals
  • Search in BST
8.3. AVL tree
  • Balancing algorithm
  • Applications of trees
8.4. Graphs
  • Definition of graphs
  • Representation of graphs
  • Graph traversal
8.5. Minimum spanning trees
  • Kruskal algorithm
  • Prims algorithm
8.6. Shortest path algorithms
  • Dijkstra algorithm

Laboratory Works

  1. 1.Dynamic memory allocation and deallocation strategies
  2. 2.Stack operations and queue operations
  3. 3.Array and linked list implementation of list
  4. 4.Linked list implementation of stack and queues
  5. 5.Sorting, searching and hashing algorithms
  6. 6.Binary search trees and AVL trees
  7. 7.Graph representation, spanning tree and shortest path algorithms

Text Books

  1. 1.Y Langsam , MJ Augenstein and A.M , Tanenbaum Data Structures using C and C++ , Prentice Hall India, Second Edition 2015

Reference Books

  1. 1.Leen Ammeral, Programmes and Data Structures in C, Wiley Professional Computing
  2. 2.G.W Rowe, Introduction to Data Structure and Algorithms with C and C++ , Prentice Hall India
  3. 3.R.L Kruse, B.P. Leung, C.L. Tondo, Data Structure and Program Design in Prentice- Hall India

Notes:

Source:

This course includes the basic foundations in data structures and algorithms. This course covers concepts of various data structures like stack, queue, list, tree and graph. Additionally, the course includes idea of sorting and searching.

To introduce data abstraction and data representation in memory To describe, design and use of elementary data structures such as stack, queue, linked list, tree and graph To discuss decomposition of complex programming problems into manageable sub-problems To introduce algorithms and their complexity

The laboratory work consists of implementing the algorithms and data structures studied in the course. Student should implement at least following concepts;

This syllabus follows the official B.Sc. CSIT curriculum of Tribhuvan University. In case of any doubt or revision, the university’s published syllabus shall be considered authoritative.