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

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.

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)