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 Structure and Algorithms . TU . BDS

Data Structure and Algorithms

0%

Course Title: Data Structure and Algorithms

Course No: BDS201

Nature of the Course: Theory + Lab

Semester: 3

Full Marks: 45 + 30

Pass Marks: 18 + 12

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction to Algorithm Design
3 hrs
1.1. Introduction to Algorithms
1.2. Performance Analysis (Time Complexity, Space Complexity)
1.3. Asymptotic Notations (Theta Notation, Big O Notation, Omega Notation)
1.4. Amortized Analysis
1.5. Composing Complexity Classes
1.6. Computing Running Time Complexity of an Algorithm
2. Linked List
8 hrs
2.1. Array
2.2. Introducing Linked List (Nodes, Pointers)
2.3. Singly Linked Lists (Creating, Traversing, Inserting, Querying, Deleting)
2.4. Doubly Linked Lists (Creating, Traversing, Inserting, Querying, Deleting)
2.5. Circular Lists (Creating, Traversing, Inserting, Querying, Deleting)
2.6. Practical Applications
3. Stacks and Queues
6 hrs
3.1. Stacks (Introduction and Operations, Stack Implementation using Arrays, Stack Implementation using Linked Lists, Stack Applications (Bracket Matching, Infix to Postfix Conversion, Postfix Evaluation))
3.2. Queues (Introduction and Operations, Queue Implementation using Array, Queue Implementation using Linked List)
3.3. Priority Queue
3.4. Queue Applications
4. Trees
7 hrs
4.1. Introduction and Terminologies
4.2. Binary Tree (Node Implementation, Tree Traversal, Expression Trees)
4.3. Binary Search Tree (Introduction, Operations, Benefits)
4.4. AVL Tree
4.5. Heap Data Structure
5. Searching and Hashing
6 hrs
5.1. Sequential Search
5.2. Binary Search
5.3. Hashing
5.4. Hash Function
5.5. Perfect Hash Function
5.6. Collision Resolution Techniques (Linear Probing, Quadratic Probing, Double Hashing, Separate Chaining)
6. Sorting
5 hrs
6.1. Sorting Algorithms
6.2. Bubble Sort
6.3. Insertion Sort
6.4. Selection Sort
6.5. Merge Sort
6.6. Quick Sort
6.7. Heap Sort
7. Graphs
8 hrs
7.1. Introduction and Terminologies
7.2. Directed and Undirected Graphs
7.3. Directed Acyclic Graphs
7.4. Weighted Graphs
7.5. Bipartite Graphs
7.6. Graph representations (Adjacency Lists, Adjacency Matrix)
7.7. Graph Traversals (Breadth-First Search, Depth-First Search)
7.8. Shortest-Path Algorithm
7.9. Minimum Spanning Tree (Kruskal's Algorithm, Prim's Algorithm)
8. Algorithm Design Techniques and Strategies
5 hrs
8.1. Algorithm Design Techniques
8.2. Recursion
8.3. Divide and Conquer
8.4. Dynamic Programming
8.5. Greedy Algorithms

Laboratory Works

  1. 1.Laboratory Work

Reference Books

  1. 1.Agarwal, B. (2022). Hands-On Data Structures and Algorithms with Python. Third Edition. Packt Publishing.
  2. 2.Canning, J., Brode, A. and Lafore, R. (2023). Data Structure and Algorithms in Python. Pearson Education.
  3. 3.Goodrich, M.T., Tamassia, R. and Goldwasser, M. H. (2021). Data Structure and Algorithms in Python. Wiley.

Notes:

Source:

This course provides a comprehensive study of different concepts of data structures and algorithms, focusing on their design, implementation, and analysis. Students will learn algorithm analysis, linked lists, stacks, queues, trees, searching, hashing, sorting, and graphs. This course also focuses on algorithm design techniques and strategies such as recursion, divide-and-conquer, dynamic programming, and greedy.
By the end of this course, students will be able to: Understand and implement fundamental data structures and their operations. Analyze algorithms for time and space efficiency. Understand and implement linked lists, stacks, queues, trees, and graph structures. Implement searching, sorting and hashing techniques. Understand and use algorithm design techniques and strategies.
Laboratory work includes writing programs using Python programming language to implement data structures and algorithms studied in each unit of the syllabus. Special focus will be given to implement linked list, stack, queue, tree, searching, sorting, hashing, graphs and related algorithms.

This syllabus follows the official Bachelor in Data Science curriculum of Tribhuvan University. In case of any doubt or revision, the university's published syllabus shall be considered authoritative.