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 . BIT

Data Structures and Algorithms

0%

Course Title: Data Structures and Algorithms

Course No: BIT 201

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. Background and Concept of Data Structures
2 hrs
1.1. Concepts of Data Types, Data Structure, Abstract Data Type and their uses
1.2. Background for Data Structure, Definition and use of ADT, Array as an ADT, Structure, Pointer
2. Algorithms
2 hrs
2.1. Introduction to Algorithm and their properties, Concepts of Analysis of algorithm with asymptotic notations (Big Oh) and their properties, time and space complexities
3. Stack
4 hrs
3.1. Definition and Primitive Operations, Stack as an ADT
3.2. Stack Applications: Evaluation of Infix, Postfix and Prefix expressions, converting from infix to prefix and postfix
4. Queue
3 hrs
4.1. Definition, Queue as an ADT and Primitive Operations of Linear and Circular Queue
4.2. Application and advantages of Linear, Circular Queue, and Priority Queue (Ascending and Descending Priority Queue)
5. Recursion
2 hrs
5.1. Definition and Principle of Recursion, Application of Recursion, Recursion removal using stack, example of recursion for TOH
5.2. Factorial, Fibonacci Sequences, GCD, efficiency of above recursive algorithms
6. List
9 hrs
6.1. List concepts, Definition and List as ADT, Static and Dynamic List Structure and implementation
6.2. Types of linked list, Operations on Linked List
6.3. Singly linked list, Circular Linked List, Doubly Linked List, Doubly Circular Linked List, Inserting, traversing and deleting nodes at beginning, end and specified positions in these linked lists
6.4. Linked implementation of a stack and queue in singly linked list
7. Tree
7 hrs
7.1. Definition and basic terminologies of tree, Binary Tree: Introduction, Types of Binary Tree, Level and depth, height balance tree(AVL)
7.2. Operations in Binary Search Tree (BST): Insertion, Deletion, Searching
7.3. Tree Traversal: Pre-order traversal, In-order traversal (sorted list of Nodes), Post-order traversal, Applications of Binary Tree (Huffman tree, expression tree)
8. Sorting
6 hrs
8.1. Introduction and types of sorting
8.2. Algorithm and implementation of Bubble Sort, Insertion Sort, Selection Sort, Quick Sort, Merge Sort
8.3. Comparison and Efficiency of sorting algorithms
9. Searching
5 hrs
9.1. Introduction
9.2. Sequential Search, Binary Search and Tree Search
9.3. Comparison and Efficiency of Searching
9.4. Hashing: hash function, hash table and collision resolution techniques
10. Graph
5 hrs
10.1. Definition, Representation of Graph, Types of Graph
10.2. Graph Traversal: Depth First Search, Breadth First Search Spanning Tree, Prim's Algorithm, Kruskal's algorithm and Round Robin Algorithm
10.3. Shortest Path Algorithm, Greedy and Dijkstra's Algorithm

Laboratory Works

  1. 1.Write a program to implement array as an ADT.
  2. 2.Writing programs to implement stack operations
  3. 3.Writing programs using stack to convert infix expression to postfix/prefix expression
  4. 4.Write a program to evaluate postfix expression using stack
  5. 5.Writing programs to implement primitive operation in linear and circular queue.
  6. 6.Writing recursive programs to implement factorial, Fibonacci sequence, GCD, and Tower of Hanoi algorithms
  7. 7.Writing programs with dynamic memory allocation and de-allocation
  8. 8.Writing programs for operation of linear linked list
  9. 9.Linked list implementation of stack and queue
  10. 10.Writing programs to implement Binary Search Trees basic operations
  11. 11.Writing programs to implement sorting algorithms; bubble, insertion, selection, merge and quick sort
  12. 12.Writing programs to implement: sequential, binary search and hashing
  13. 13.Writing programs to implement searching, spanning tree and shortest path algorithms in graph

Text Books

  1. 1.Data structure using C and C++, Langsam, Augenstein, Tenenbaum

Reference Books

  1. 1.Horowitz and Sahni, Fundamentals of Data Structures
  2. 2.Aho, Hopcroft and Ullman, Data Structure and Algorithms

Source:

This course contains the concepts of different types of data structures and concepts of algorithms and their analysis.
This course aims to provide sufficient theoretical and practical knowledge of data structure and algorithms required to build efficient programs.
Data Structure and Algorithm is highly practical oriented course. Each unit should include plenty of programming practices. Laboratory work should include implementation of Stack, Queue, Lists, Tree, Graphs, and Recursive functions as well as implementation of Sorting Algorithms and Searching Algorithms. Laboratory exercises can be implemented in high level programming languages like C or C++.