Skip to content

A repository for me to practice common CS principles in Java.

Notifications You must be signed in to change notification settings

YORKAJX/cs-principles-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Understanding CS principles through Java

This repository will act as a way for me to understand basic and complex computer science concepts through implementation of these different concepts.

Why?

I have realized that I lack the ability to apply some of the CS concepts that I have learned in CS 1 and 2. So this repository is here to help me practice implementing different CS concepts and which I am hoping will eventually lead me to a point where when I see a problem while working on a project I can easily recognize how that could be solved with the use/modification of some basic CS algorithms/data structures/etc.

Things to implement/practice...

Algorithms

Sorting Algorithms

  • Bubble Sort
  • Insertion Sort
  • Selection Sort
  • Merge Sort
  • Quick Sort
  • In-Place Quick Sort
  • Bucket/Radix Sort
  • Heap Sort
  • Counting Sort

Searching Algorithms

  • Linear Search
  • Binary Search
  • Breadth-First Iterative Search
  • Depth-First Search - Preorder (Recursive)
  • Depth-First Search - Inorder (Recursive)
  • Depth-First Search - Postorder (Recursive)

Others

  • Dijkstra’s Algorithm
  • Floyd-Warshall
  • Traveling Salesman
  • A*
  • Bloom Filter
  • K-Way Merge

Data Structures

  • Simple Node
  • Linked Lists
  • Stack
  • Queue
  • Hash Table
  • Map
  • Binary Search Tree
  • Heap
  • Trie
  • Circular Queue
  • Vector
  • Priority Queue
  • Circular Buffer

List will continue to grow constantly

About

A repository for me to practice common CS principles in Java.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%