Skip to content

"Implementations of common data structures with examples and tests."

Notifications You must be signed in to change notification settings

tunisch/data-structer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Data Structures & Algorithms (Java)

This repository contains implementations, explanations, and practice materials for fundamental Data Structures and Algorithms, written in Java.

It is designed to serve both academic purposes and a personal portfolio, and it will continue to grow over time with additional Java-based coding exercises and algorithm implementations.


📚 Topics Covered

This repository focuses on core data structure and algorithm concepts, implemented step by step to emphasize understanding over memorization.

Sorting Algorithms

  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Bubble Sort

Searching Algorithms

  • Linear Search
  • Binary Search

Tree Structures

  • Binary Search Tree (BST)
  • Node insertion logic and structural properties

Future updates will include more advanced data structures and algorithmic problem-solving exercises implemented in Java.


🌿 Branch Structure

The repository is organized using a branch-based structure, where each topic is isolated to keep concepts clean and focused.

Main Branch

  • main

    Contains the general project structure and documentation.

Project Branches

  • project/binary-search-tree

    Binary Search Tree implementation with detailed insertion logic and structural behavior.

  • project/merge-sort

    Merge Sort implementation using the divide-and-conquer approach.

  • project/insertion-sort

    Insertion Sort implementation and algorithm walkthrough.

Lesson Branches

  • lesson/selection-sort

    Selection Sort explanation and Java implementation.

  • lesson/searching-algorithms

    Basic searching algorithms with theoretical explanations.

This structure allows each algorithm or data structure to be studied independently without mixing unrelated concepts.


⏱️ Time Complexity Overview

Algorithm / Structure Best Case Average Case Worst Case
Selection Sort O(n²) O(n²) O(n²)
Insertion Sort O(n) O(n²) O(n²)
Merge Sort O(n log n) O(n log n) O(n log n)
Binary Search O(1) O(log n) O(log n)
BST Search O(log n)* O(log n)* O(n)**
  • Balanced tree
  • Unbalanced tree

🎯 Purpose of This Repository

  • Strengthen understanding of data structures and algorithms
  • Practice Java-based algorithm implementations
  • Prepare for exams and technical interviews
  • Build a clean and evolving reference repository

This repository is actively maintained and will be expanded with new Java coding exercises, problem-solving examples, and algorithm variations.


🛠️ Technologies

  • Programming Language: Java
  • Version Control: Git & GitHub

👤 Author

Tunahan Türker Ertürk

Software Engineering Graduate

About

"Implementations of common data structures with examples and tests."

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published