https://github.com/adhadse/dsawithgo
A DSA repository but everything is in Go.
https://github.com/adhadse/dsawithgo
algorithms benchmark data-structures dsa dsa-practice go golang test-driven-development
Last synced: 5 months ago
JSON representation
A DSA repository but everything is in Go.
- Host: GitHub
- URL: https://github.com/adhadse/dsawithgo
- Owner: adhadse
- License: apache-2.0
- Created: 2022-01-20T08:52:23.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-09-17T05:42:18.000Z (over 3 years ago)
- Last Synced: 2025-02-10T02:51:20.993Z (about 1 year ago)
- Topics: algorithms, benchmark, data-structures, dsa, dsa-practice, go, golang, test-driven-development
- Language: Go
- Homepage:
- Size: 127 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# DSAWithGo
A DSA repository but everything is in Go. Leave a starπif you love Go and like this repository.π«
Reimplementation of this [DSA repo](https://github.com/thisisshub/DSA) by [thisisshub](https://github.com/thisisshub/) with some tweaks, and new implementation for others :)
# Contents π
1. [backtracking](https://github.com/adhadse/DSAWithGo/tree/master/backtracking)
2. [bit_magic](https://github.com/adhadse/DSAWithGo/tree/master/bit_magic)
3. [graph](https://github.com/adhadse/DSAWithGo/tree/master/graph)
4. [greedy](https://github.com/adhadse/DSAWithGo/tree/master/greedy)
5. [linked_list](https://github.com/adhadse/DSAWithGo/tree/master/linked_list)
6. [mathematics](https://github.com/adhadse/DSAWithGo/tree/master/mathematics)
7. [queue](https://github.com/adhadse/DSAWithGo/tree/master/queue)
8. [recursion](https://github.com/adhadse/DSAWithGo/tree/master/recursion)
9. [searching](https://github.com/adhadse/DSAWithGo/tree/master/searching)
10. [sorting](https://github.com/adhadse/DSAWithGo/tree/master/sorting)
11. [tree](https://github.com/adhadse/DSAWithGo/tree/master/tree)
# FAQ π€
1. **Why in Go? Why not in Python/C/C++ etc?**
As for C/C++, you can, you probably should! But when the focus is learning DSA, C/C++'s complexity can become a barrier. As for Python, it's already done by [thisisshub](https://github.com/thisisshub/).
Then why Go? One reason is for pure performance comparable to C, combined with the simplicity and ease like python.π
2. **How do I use it?**
Go through them one by one, and reimplement in your favourite language.
# Contribute
Read [Contributing Guidelines](https://github.com/adhadse/DSAWithGo/blob/master/CONTRIBUTING.md)
# Prerequisites π
Install Go for your relevant platform. If you are using editors or IDEs it's fairly easy to play through them, otherwise you can run these commands:
- Running all tests
```go
go test ./...
```
- Running all benchmark
```go
go test ./... -bench ./...
```
- Benchmarking a package, go into that package and,
```go
go test -bench .
```
- Testing a package, go into that package and
```go
go test .
```
Created By [Anurag Dhadse](https://anuragdhadse.com)