Back home

Laboratory roadmap

Fifteen progressive C++ experiments covering the official laboratory work. Each experiment links directly to the concepts and implementation pattern it needs.

01

Array operations

Traversal, insertion, deletion, reversal, and duplicate handling.

02

String processing

Palindrome, frequency counting, anagram, and substring tasks.

03

Singly linked list

Insert, delete, search, reverse, and display.

04

Doubly and circular lists

Bidirectional updates and cyclic traversal.

05

Stack implementations

Array and linked stacks; expression applications.

06

Queue implementations

Linear, circular, linked queues, and deque operations.

07

Searching techniques

Linear, iterative binary, and boundary searches.

08

Elementary sorting

Bubble, selection, insertion, and shell sort with counters.

09

Efficient sorting

Merge, quick, counting, radix, and heap sort.

10

Binary trees and BST

All traversals plus BST insertion, search, and deletion.

11

AVL tree

Insertion with LL, RR, LR, and RL rotations.

12

Heap and priority queue

Build heap, insert, extract, and heap sort.

13

Graph traversals

Adjacency lists, BFS, DFS, and connected components.

14

Shortest paths

Dijkstra and Floyd–Warshall with unreachable cases.

15

MST and disjoint sets

DSU, Prim, and Kruskal on weighted graphs.

Submission checklist

  • State the invariant before writing code
  • Test empty, single-item, duplicate, and boundary inputs
  • Print or assert intermediate state while debugging
  • Write time and space complexity beside the program
  • Compile with warnings: -Wall -Wextra -pedantic

Compile consistently

g++ -std=c++17 -Wall -Wextra -pedantic main.cpp -o main
./main

Warnings often reveal uninitialised variables, unsafe conversions, and dead code before they become runtime bugs.