https://github.com/hussein-249/go-multithreaded-algorithms
A collection algorithms and structures written with goroutines in Go.
https://github.com/hussein-249/go-multithreaded-algorithms
beginner-friendly beginner-project go mutlithreading
Last synced: 9 months ago
JSON representation
A collection algorithms and structures written with goroutines in Go.
- Host: GitHub
- URL: https://github.com/hussein-249/go-multithreaded-algorithms
- Owner: Hussein-249
- Created: 2024-05-20T19:31:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-03T00:03:54.000Z (over 1 year ago)
- Last Synced: 2025-02-17T14:16:52.062Z (12 months ago)
- Topics: beginner-friendly, beginner-project, go, mutlithreading
- Language: Go
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Multithreaded Algorithms (Go)

## Purpose
This module is not meant to be a production-grade or professional solution. It is meant to be a proof-of-concept repo, and to demonstrate my skills and understanding of the Go programming language.
## Implemented Structures and Algorithms
Some of these data structures and algorithms may not inherently benefit from multithreading, such as the RootishArrayStack, and thus have not been implemented with goroutines. However, these still serve as useful structures as Go does not have built-in implementations of these structures.
### Algorithms
- [x] Merge Sort, Counting Sort
### Data Structures
- [ ] None
## Structures and Algorithms Being Developed
### Algorithms
- [ ] Dijkstra's Algorithm
### Data Structures
- [ ] Trie
- [ ] RootishArrayStack
## Tests
I have currently implemented unit tests for completed algorithms. The unit tests are passing, and you can run them all by running
``` bash
go test -count=1 ./...
```
This can be executed at the module level (targets all tests) or at the package level (targets all tests in the package). When executing multiple iterations of tests where the actual test content may vary, be sure to include -count=1 as this disables test caching.
To test an individual file, run
``` bash
go test -run
```
## Documentation
Work in progress.