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. CSITB.E. ComputerBIT

TabFlux . Data Structure and Algorithms . FWU . BIT

Data Structure and Algorithms

0%

Course Title: Data Structure and Algorithms

Course No: BIT121

Nature of the Course: Theory + Lab

Semester: 2

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
3 hrs
1.1. Overview of Data Structures and Algorithms
1.2. Data Structure
1.3. Abstract Data Types (ADT)
1.4. Algorithm Analysis and Complexity (Big-O, Big-Theta, Big-Omega)
1.5. Best, Worst, and Average Case analysis
1.6. Array as an ADT
2. Stack and Queue
7 hrs
2.1. Concepts of Stack
2.2. Operations on Stack
2.3. Applications of stacks: Expression Evaluation, Recursion
2.4. Concepts of Queue
2.5. Operations on Queue
2.6. Circular Queue
2.7. Priority Queues
2.8. Applications of Queue
3. Linked List
8 hrs
3.1. Concepts of Linked List
3.2. Operations of Linked List
3.3. List Implementation of Stack
3.4. List Implementation of Queue
3.5. Circular Linked List
3.6. Doubly Linked List
3.7. Circular Doubly Linked List
3.8. Applications of Linked List
4. Recursion
3 hrs
4.1. Concepts of Recursion
4.2. Recursive Algorithms
4.3. Applications of Recursion
5. Sorting
5 hrs
5.1. Concepts of Sorting
5.2. Sorting Algorithms: Bubble Sort, Selection Sort, Insertion Sort, Quick Sort, Merge Sort
5.3. Complexity of Sorting Algorithms, Applications of Sorting
6. Searching and Hashing
6 hrs
6.1. Concepts of Searching
6.2. Searching Algorithms: Linear Search
6.3. Binary Search
6.4. Complexity of Searching Algorithms
6.5. Concepts of Hashing
6.6. Hash Table
6.7. Collision Resolution in Hashing
7. Trees
7 hrs
7.1. Concepts of Tree
7.2. Binary Tree
7.3. Operations on Binary Tree
7.4. Binary Search Tree
7.5. Operations on Binary Search Tree
7.6. Tree Traversal: Preorder, Inorder, Postorder
7.7. AVL Tree
7.8. Applications of Tree
8. Graphs
6 hrs
8.1. Concepts of Graph
8.2. Graph Representation: Adjacency Matrix, Adjacency List
8.3. Graph Traversal: Breadth-First Search, Depth-First Search
8.4. Shortest Path Algorithms: Dijkstra's Algorithm, Floyd-Warshall Algorithm

Laboratory Works

    Text Books

    1. 1.Yedidyah Langsam, Moshe J. Augenstein, Aaron M. Tanenbaum, Data structure using C and C++, Pearson
    2. 2.E. Balagurusamy, Data Structures using C, MC Graw Hill
    3. 3.Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, Pearson
    4. 4.Seymour Lipschutz — Schaum's Outlines Data Structures with C, MC Graw Hill India

    Notes:

    Source:

    This course provides fundamental concepts and techniques for designing and analyzing data structures and algorithms. The course covers concepts of stack, queue, linked list, tree, graph, sorting, searching and hashing.
    Upon the completion of the course, students will be able to: Understand the fundamental data structures and their applications; Analyze the complexity of algorithms; Use appropriate data structures for problem-solving; Implement data structures like stack, queue, linked lists; Apply recursion for problem solving; Understand and implement sorting and searching problems; Use hash tables; Implement tree and graph data structures
    The laboratory work includes implementation of the data structures and their operations as mentioned in above units.
    university_short_name left empty: not stated on source document. marking_scheme component/mark_type labeling (THEORY FINAL 60/24, THEORY INTERNAL 20/8, PRACTICAL FINAL 20/8) is a standard-pattern best fit since the source only lists combined totals '60+20+20' and '24+8+8' without labeling each component. Text/Reference Books were listed as a single undifferentiated list in the source and have all been placed under text_books.