This project implements various data structures and algorithms in Go. Since Go has limited built-in support for data structure operations, the API is inspired by Rust's collections and iterator trait APIs.Additionally, many of Go's built-in data structures are not inherently thread-safe, so I've included a mutex in each data structure to ensure concurrent safety.
- Array List
- Single Linked List
- Double Linked List
- Hash map
- Bi-directional Hash Map
- Tree Hash Map
- Bi-directional Tree Map
- Array Queue
- Circular Queue
- Linkedlist Queue
- Priority Queue
- Array Stack
- Linkedlist Stack
- Hash Set
- Linked Hash Set
- Tree Set
- AVL Tree
- Binary Heap
- BTree
- Red Black Tree