Data Structures & Algorithms · Kotlin
Big-O, sorting (bubble, selection, insertion, merge, quick), binary search, linked lists, stacks, queues, hash tables, search trees and heaps — in idiomatic Kotlin that compiles and runs in the Arena IDE, with a Visualize tab that animates every algorithm step by step.
- Step 1
Big-O notation
Measure growth, not seconds
Start lesson - Step 2
Arrays & memory
Index O(1), search O(n), insert O(n)
Start lesson - Step 3
Bubble sort
O(n²) time · O(1) space · stable
Start lesson - Step 4
Selection sort
O(n²) time · O(1) space · ~n swaps
Start lesson - Step 5
Insertion sort
O(n²) worst · O(n) nearly-sorted · stable
Start lesson - Step 6
Merge sort
O(n log n) time · O(n) space · stable
Start lesson - Step 7
Quick sort
O(n log n) avg · O(n²) worst · in-place
Start lesson - Step 8
Binary search
O(log n) — requires a sorted array
Start lesson - Step 9
Linked lists
Insert/remove at head O(1) · index O(n)
Start lesson - Step 10
Stacks & queues
Push/pop/enqueue/dequeue O(1)
Start lesson - Step 11
Hash tables
Average O(1) insert / lookup / delete
Start lesson - Step 12
Binary search trees
O(log n) balanced · O(n) worst (skewed)
Start lesson - Step 13
Heaps & priority queues
Peek O(1) · insert/remove O(log n)
Start lesson