Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Java Data Structures & Algorithms

Overview

This repository contains my implementations of fundamental Data Structures and Algorithms developed during my Computer Engineering studies at Sivas Cumhuriyet University.

The purpose of this repository is to strengthen my understanding of data structures and algorithms through personal practice, university coursework, and continuous learning in Java.


Contents

This repository includes implementations and exercises covering topics such as:

  • Binary Search Tree (BST)
  • Binary Tree
  • Linked List
  • Stack
  • Queue
  • Hash Table
  • Searching Algorithms
  • Sorting Algorithms
  • Recursion
  • Additional university assignments and practice exercises

More implementations will be added as I continue learning.


Repository Organization

Most topics are divided into two folders:

My Implementation

Contains my own implementations created to practice concepts, improve problem-solving skills, and better understand how each data structure or algorithm works internally.

University Implementation

Contains implementations, laboratory exercises, and assignments completed during my university coursework.


Commented Code

Several implementations include detailed comments explaining the algorithms step by step.

Some of the best documented examples can be found in:

  • Trees
  • Linked Lists
  • Queue
  • Merge Sort
  • Quick Sort
  • Shell Sort
  • Hash Table
  • Incertion Sort
  • Selection Sort
  • Bubble Sort

A preview of the commented code is included in the screenshots below.


Documentation

Some topics also include additional documentation, diagrams, and visual explanations to make the concepts easier to understand.

Current documentation is available for:

  • Queue
  • Hash Table

Learning Resources

While learning Data Structures and Algorithms, I studied from several excellent educational resources that helped me understand the concepts before implementing them in Java.

I highly recommend these channels to students learning Data Structures and Algorithms:

  • Bro Code (English)
  • Derek Banas (English)
  • Coding with John (English)
  • Adel Naseem (Arabic)
  • The New Baghdad (Arabic)

The English channels are easy to follow for most learners, while Adel Naseem and The New Baghdad provide excellent explanations for Arabic speakers.

These resources supported my learning journey, while the implementations in this repository were completed through my own practice and university coursework.


Future Improvements

  • Add more advanced data structures
  • Include graph algorithms
  • Add complexity analysis (Time & Space Complexity)
  • Add execution examples
  • Improve project documentation

Author

Mohamed Issa

Computer Engineering Student

Interested in Cybersecurity, Artificial Intelligence, and Software Development.