Skip to content

gazolla/Kotlin-Algorithm

Repository files navigation

Welcome to Kotlin Algorithms

Here you'll find implementations of popular algorithms and data structures in Kotlin programming language.

This is a work in progress. More algorithms will be added soon. :-)

Suggestions and contributions are welcome!

The algorithms

Searching

String Search

  • [Brute-Force String Search]
  • [Boyer-Moore]
  • Rabin-Karp
  • [Longest Common Subsequence]

Sorting

Basic sorts:

Fast sorts:

Special-purpose sorts:

  • Bucket Sort
  • Counting Sort
  • Radix Sort
  • [Topological Sort]

Compression

Miscellaneous

  • Shuffle Randomly rearranges the contents of an array.

Machine learning

  • [k-Means Clustering]
  • k-Nearest Neighbors
  • Linear Regression
  • Logistic Regression
  • Neural Networks
  • PageRank

Data structures

Variations on arrays

  • [Array2D]
  • [Bit Set]
  • [Fixed Size Array]
  • [Ordered Array](Ordered Array/)

Queues

  • Stack
  • Queue
  • Deque
  • [Priority Queue]
  • [Bounded Priority Queue]
  • [Ring Buffer]

Lists

Trees

  • Tree
  • [Binary Tree]
  • [Binary Search Tree (BST)]
  • [AVL Tree]
  • Red-Black Tree
  • Splay Tree
  • Threaded Binary Tree
  • [Segment Tree]
  • kd-Tree
  • [Heap]
  • Fibonacci Heap
  • Trie
  • [B-Tree]

Hashing

  • [Hash Table]
  • Hash Functions

Sets

Graphs

  • [Graph]
  • [Breadth-First Search (BFS)]
  • [Depth-First Search (DFS)]
  • [Shortest Path]
  • [Minimum Spanning Tree]
  • All Paths

License

All content is licensed under the terms of the MIT open source license.

Contributors

Contact

About

Algorithms and data structures in kotlin

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages