Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zawlinnnaing/data-structures-algorithms-go

Implementation of basic data structures and algorithms in Golang
https://github.com/zawlinnnaing/data-structures-algorithms-go

Last synced: about 14 hours ago
JSON representation

Implementation of basic data structures and algorithms in Golang

Awesome Lists containing this project

README

        

# Data Structures and Algorithms in Go

Implementation of basic data structures and algorithms in Golang. Following data structures and algorithms with their respective files are included.

## Data structures

- [RingBuffer](src/array/ringbuffer.go)
- [LeakyBuffer](src/channel/leakybuffer.go)
- [MinHeap](src/heap/heap.go)
- [Singly Linked List](src/linkedlists/singly/singly.go)
- [Doubly Linked List](src/linkedlists/doubly/linkedlist.go)
- [Queue](src/queue/queue.go)
- [LRU Cache with Queue](src/queue/lrucache.go)
- [Stack](src/stack/cleanstack.go)
- [Monotonic Stack](src/stack/monotonic.go)
- [Binary Tree](src/tree/binary.go)
- [LRU Cache with Hash Map and Doubly Linked List](src/hashmap/LRU.go)

## Algorithms

- [Linear search](src/search/linearsearch.go)
- [Binary search](src/search/binarysearch.go)
- [Path Finder](src/recursion/pathfinder.go) (Finds path from starting point to end point in a maze if such path exists)
- [Bubble sort](src/sort/bubble.go)
- [Quick sort](src/sort/quick.go)
- [Depth-first traversal tree](src/tree/traversals/)
- [Breath-first search tree](src/tree/breathfirstsearch.go)
- [Compare two binary trees](src/tree/compare.go) (Compares whether two binary trees have exact shape and values)
- [Breath-first search Graph](src/graph/breathfirstsearch.go)
- [Dijkstra's Shortest Path](src/graph/shortestpath.go)

## To dos

- [ ] Test coverage for all data structures and algorithms
- [ ] CLI program for demonstrating data structures and algorithms