Skip to content

Kairn/cook-book-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

155 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cook Book (Java) 📚

Kairn

The purpose of this repository is to collect many algorithmic problems and provide implementations for them. Test cases are bundled in the source code, and they will be run when making a project build. The collection will be updated from time to time.

Topics

Sorting 🌀

  1. Insertion sort with binary search
  2. Merge sort
  3. Heap sort
  4. Quick sort
  5. Tim sort with galloping
  6. Three-way string sort

Searching 🔎

  1. Knapsack with divide and conquer
  2. Quickselect (find kth smallest element)
  3. Zuma

Dynamic Programming 🚀

  1. Greatest common divisor
  2. Longest common subsequence
  3. Decimal-binary numbers (from HackerRank)
  4. Maximal square (from LeetCode)
  5. Interleave string (from LeetCode)

Graph Theory 🌐

  1. Dijkstra's algorithm
  2. Minimum spanning tree
  3. Bellman-Ford algorithm

Data Structure 🔯

  1. AVL tree
  2. Fibonacci heap
  3. LRU cache
  4. 2-3 tree
  5. Red-black tree
  6. Linear probing hash table

Cryptography 🔑

  1. AES-128 in ECB mode and associated attacks
  2. AES-128 in CBC mode and associated attacks
  3. AES-128 in CTR mode and fixed-nonce attack
  4. Various basic encryption schemes and attacks
  5. Other crypto related functions

Systems 📟

  1. Lsof aggregator
  2. Host log reporter
  3. Data transfer encoder
  4. Stream scanner
  5. Prometheus aggregator

Miscellaneous 🎈

  1. Sorted sum (from HackerRank)
  2. Sub-array imbalance (from Amazon test)
  3. Permutation generator
  4. Sub-array sum equals k (from LeetCode)
  5. Partition equal subset sum (from LeetCode)
  6. Sudoku solver

Test

Prerequisites

Build

  1. Clone or download this repository and change into the project's root directory (where pom.xml is located).
  2. Run ./mvnw clean verify to compile, test, and check format.
  3. Run ./mvnw spotless:apply to format the code.

About

A collection of classic/advanced coding problems with Java implementations and tests

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages