Skip to content

About

Core DSA concepts implemented in C (academic) and Java (practice).

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Structures and Algorithms Practice

This repository contains my practice programs for Data Structures and Algorithms (DSA) and Java classwork. It includes implementations in C and Java, covering linked lists, stacks, queues, sorting, searching, expression conversion, OOP concepts, exception handling, and GUI examples.

Repository Structure

DSA/
|-- C/
|   |-- 01_linked_list/
|   |-- 02_stack/
|   |-- 03_queue/
|   |-- 04_expression_conversion/
|   |-- 05_Sorting/
|   `-- 06_Searching/
|-- javaPrograms/
|   |-- ADT/
|   |-- searching/
|   |-- sorting/
|   `-- ClassPrograms/
|       |-- gui/
|       |-- lecture1/
|       |-- lecture2/
|       |-- lecture3/
|       |-- lecture4/
|       |-- lecture5/
|       |-- lecture6/
|       `-- lecture7/
`-- README.md

C Programs

Linked List

  • Simple linked list
  • Singly linked list
  • Circular linked list using head and rear
  • Circular linked list using head

Stack

  • Stack using array with call by value
  • Stack using array with call by address
  • Stack using linked list with call by value
  • Stack using linked list with call by address

Queue

  • Simple queue using array with call by value
  • Simple queue using array with call by address
  • Linear queue using structure
  • Circular queue using array
  • Simple queue using linked list with call by value
  • Simple queue using linked list with call by reference

Expression Conversion

  • Infix to postfix conversion
  • Operator precedence handling
  • Associativity handling

Sorting

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Quick Sort
  • Merge Sort
  • Menu-driven sorting program

Searching

  • Linear Search
  • Binary Search
  • Menu-driven searching program

Java Programs

ADT

  • Generic stack implementation using ArrayList
  • Push, pop, peek, display, and toString() operations

Searching

  • Linear Search
  • Binary Search
  • Menu-driven searching program

Sorting

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Quick Sort
  • Merge Sort
  • Menu-driven sorting program

Class Programs

  • Basic classes and objects
  • Student and employee examples
  • Stack class practice
  • Type conversion
  • Wrapper types
  • Polymorphism
  • Inheritance / ISA relationship
  • Constructor chaining
  • toString() overriding
  • Exception handling

GUI Programs

The javaPrograms/ClassPrograms/gui folder contains AWT and Swing examples with output screenshots.

  • AWT examples
  • Swing examples
  • Drawing line and circle outputs
  • GUI frame examples

View GUI screenshots here: javaPrograms/ClassPrograms/gui/README.md

Languages Used

  • C
  • Java

Purpose

This repository is maintained to:

  • Practice and understand DSA concepts
  • Strengthen problem-solving skills
  • Build a solid foundation in data structures and algorithms
  • Track Java classwork and GUI practice
  • Maintain organized notes and programs for revision

Author

Harman Singh
GitHub: https://github.com/TheHarmanCodes

About

Core DSA concepts implemented in C (academic) and Java (practice).

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Contributors

Languages