Course Code: R1UC308B
Institution: Galgotias University, Greater Noida
School: School of Computer Science and Engineering
Program: B.Tech Computer Science Engineering
Semester: III
This repository contains all 25 lab programs from the Data Structures course covering fundamental concepts including arrays, recursion, searching algorithms, sorting algorithms, linked lists, stacks, queues, trees, and graphs.
- ArrayInsertDelete.java - Insert and delete elements in 1-D array
- ReverseArray.java - Reverse an array
- MatrixOperations.java - Addition and multiplication of 2D matrices
- MaxMinArray.java - Find maximum and minimum in array
- Factorial.java - Factorial using iteration and recursion
- Fibonacci.java - Fibonacci series using iteration and recursion
- TowerOfHanoi.java - Tower of Hanoi problem
- PrintNto1.java - Print numbers from n to 1 using recursion
- LinearSearch2D.java - Linear search in 2D matrix
- BinarySearch.java - Binary search in sorted array
- FirstLastOccurrence.java - Find first and last occurrence in sorted array
- BubbleSort.java - Bubble sort implementation
- SelectionSort.java - Selection sort implementation
- InsertionSort.java - Insertion sort implementation
- QuickSort.java - Quick sort implementation
- MergeSort.java - Merge sort implementation
- SinglyLinkedList.java - Menu-driven singly linked list with insert, delete, search, display
- DoublyLinkedList.java - Doubly linked list implementation
- CircularLinkedList.java - Circular linked list implementation
- StackArray.java - Stack operations (push, pop, isEmpty, isFull) using array
- CircularQueue.java - Circular queue operations using array
- BinaryTree.java - Binary tree traversals (inorder, preorder, postorder)
- BST.java - Binary Search Tree with insert, delete, search operations
- BFS.java - Breadth-First Search traversal
- DFS.java - Depth-First Search traversal
- Java Development Kit (JDK) 8 or higher
- Any Java IDE (Eclipse, IntelliJ IDEA, VS Code) or command line
javac ProgramName.javajava ProgramNamejavac 01_ArrayInsertDelete.java
java ArrayInsertDelete- Arrays: Basic operations, traversal, insertion, deletion
- Recursion: Understanding recursive calls and base cases
- Searching: Linear and binary search techniques
- Sorting: Comparison-based sorting algorithms
- Linked Lists: Dynamic data structures with various types
- Stacks: LIFO principle implementation
- Queues: FIFO and circular queue implementations
- Trees: Binary trees, BST, tree traversals
- Graphs: BFS and DFS graph traversal algorithms
- Time and space complexity analysis
- Iterative vs recursive approaches
- In-place vs auxiliary space algorithms
- Static vs dynamic data structures
- Menu-driven program design
- All programs include user input functionality via Scanner class
- Programs follow standard Java naming conventions
- Each program includes proper comments and documentation
- Menu-driven programs include multiple operation options
Feel free to:
- Report bugs or issues
- Suggest improvements
- Add optimized versions
- Contribute additional test cases
This repository is for educational purposes as part of the B.Tech CSE curriculum at Galgotias University.
Aditya Gupta
Admission No: 24SCSE1011357
B.Tech Computer Science Engineering
Galgotias University
⭐ Star this repository if you find it helpful!