https://github.com/domnikl/algorithms-and-data-structures
Algorithms and data structures implemented in Kotlin
https://github.com/domnikl/algorithms-and-data-structures
algorithms data-structures educational kotlin
Last synced: 5 months ago
JSON representation
Algorithms and data structures implemented in Kotlin
- Host: GitHub
- URL: https://github.com/domnikl/algorithms-and-data-structures
- Owner: domnikl
- License: apache-2.0
- Created: 2020-01-02T20:16:07.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2023-08-23T13:34:24.000Z (about 2 years ago)
- Last Synced: 2025-04-22T23:53:13.210Z (5 months ago)
- Topics: algorithms, data-structures, educational, kotlin
- Language: Kotlin
- Size: 381 KB
- Stars: 14
- Watchers: 2
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# algorithms and data structures
Implementations of common algorithms and data structures in Kotlin, mostly done for educational purposes. See [bigocheatsheet.com](https://www.bigocheatsheet.com) for time and space complexity comparisons.
## data structures
* [Dynamically resizing array](src/main/kotlin/org/domnikl/data_structures/ResizingArray.kt)
* [Linked list](src/main/kotlin/org/domnikl/data_structures/LinkedList.kt)
* [Double linked list](src/main/kotlin/org/domnikl/data_structures/DoubleLinkedList.kt)
* [Stack](src/main/kotlin/org/domnikl/data_structures/Stack.kt)
* [Queue](src/main/kotlin/org/domnikl/data_structures/Queue.kt)
* [Hash table](src/main/kotlin/org/domnikl/data_structures/HashTable.kt)
* [Binary heap](src/main/kotlin/org/domnikl/data_structures/BinaryHeap.kt)
* [AVL tree](src/main/kotlin/org/domnikl/data_structures/AvlTree.kt)
* [BTree](src/main/kotlin/org/domnikl/data_structures/BTree.kt)
* [Bloom filter](src/main/kotlin/org/domnikl/data_structures/BloomFilter.kt)## search
* [Binary search](src/main/kotlin/org/domnikl/algorithms/search/BinarySearch.kt)
## sorting
* [Bubble sort](src/main/kotlin/org/domnikl/algorithms/sorting/BubbleSort.kt)
* [Quick sort](src/main/kotlin/org/domnikl/algorithms/sorting/QuickSort.kt)
* [Merge sort](src/main/kotlin/org/domnikl/algorithms/sorting/MergeSort.kt)
* [Heap sort](src/main/kotlin/org/domnikl/algorithms/sorting/HeapSort.kt)
* [Selection sort](src/main/kotlin/org/domnikl/algorithms/sorting/SelectionSort.kt)
* [Insertion sort](src/main/kotlin/org/domnikl/algorithms/sorting/InsertionSort.kt)
* [Bucket sort](src/main/kotlin/org/domnikl/algorithms/sorting/BucketSort.kt)
* [Counting sort](src/main/kotlin/org/domnikl/algorithms/sorting/CountingSort.kt)
* [Radix sort](src/main/kotlin/org/domnikl/algorithms/sorting/RadixSort.kt)## select
* [Quick select](src/main/kotlin/org/domnikl/algorithms/select/QuickSelect.kt)
## graphs
* [breadth first search](src/main/kotlin/org/domnikl/algorithms/graphs/Graph.kt)
* [depth first search](src/main/kotlin/org/domnikl/algorithms/graphs/Graph.kt)
* [Dijkstra's shorted path first](src/main/kotlin/org/domnikl/algorithms/graphs/WeightedGraph.kt)