https://github.com/eng618/go-eng
Creating a personal go package, to learn and to host personal notes and data structures.
https://github.com/eng618/go-eng
Last synced: 4 months ago
JSON representation
Creating a personal go package, to learn and to host personal notes and data structures.
- Host: GitHub
- URL: https://github.com/eng618/go-eng
- Owner: eng618
- License: mit
- Created: 2021-06-02T19:55:53.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-21T18:19:16.000Z (5 months ago)
- Last Synced: 2025-02-28T19:25:33.084Z (5 months ago)
- Language: Go
- Size: 353 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# go-eng
[](https://github.com/eng618/go-eng/actions/workflows/ci.yml)
[](https://github.com/eng618/go-eng/actions/workflows/release.yml)
[](https://goreportcard.com/report/github.com/eng618/go-eng)
[](https://codecov.io/gh/eng618/go-eng)## Overview
This is a personal package I will be using to create various helper packages,
as I learn and explore the Go programming language. The main package of this
repo is simply to demonstrate the use of a subset of the contained packages.For full documentation visit the individual packages listed in the directories
section [pkg.go.dev/github.com/eng618/go-eng#section-directories](https://pkg.go.dev/github.com/eng618/go-eng#section-directories).## List of Packages
### Algorithms
- `github.com/eng618/go-eng/algo/anagrams`
- anagram detection
- `github.com/eng618/go-eng/algo/search`
- binary search
- loop implementation
- recursion implementation
- linear search
- `github.com/eng618/go-eng/algo/sort`
- merge sort
- insertion sort
- bubble sort
- quick sort### Data Structures
- `github.com/eng618/go-eng/ds/list`
- linked list
- double linked list
- `github.com/eng618/go-eng/ds/queue`
- slice implementation
- linked list implementation
- `github.com/eng618/go-eng/ds/stack`
- slice implementation
- `github.com/eng618/go-eng/ds/hash`### Design Patterns
- `github.com/eng618/go-eng/design-patterns/circuit-breaker/breaker`
- Circuit Breaker pattern implementation
- Handles failure detection and system protection
- Supports closed, open, and half-open states
- Thread-safe with configurable thresholds## Still to come
### Planned Algorithms
- Recursion
- Sort
- [ ] Insertion
- [x] Bubble
- [ ] Quick sort
- Search
- [ ] Breadth-first search (BFS)
- [ ] Depth-first search (DFS)### Planned Data Structures
- [x] Queue
- [x] Double linked list
- [ ] Binary Search Tree (BST)
- [ ] Graph
- [ ] container/heap
- [x] container/list
- [ ] container/ring