DEV Community

Cover image for Go: Learning Journey Through Algorithms
Asher Buk
Asher Buk

Posted on

Go: Learning Journey Through Algorithms

I've been working with Node.js and its ecosystem. Now I’m diving deep into Go and I'm getting huge enjoyment from its approach — on one hand, simplicity and no syntactic sugar (you can get diabetes from all the sugar in JS, it's too sweet🙃), on the other hand, incredible capabilities and a greater sense of being "close to hardware."

I decided to document my learning notes in an open repo AlgoDSgo — specifically, implementations of classic algorithms in Go. This isn't production code, but educational examples with comments and Big O complexity analysis.

Sure, there are hundreds of similar repos... so what's the value in opening another one? 👇

  • Classic solutions to classic CS problems, without over-engineering or language-specific optimizations, for clear understanding of the algorithm.
  • Meaningful semantic naming
  • Aiming for simple and idiomatic Go code
  • Breakdowns and diagrams right in the comments

What's included:

Search algorithms: Binary, Linear, Jump, BFS, DFS

Sorting algorithms: Bubble, Selection, Insertion, Merge, Quick, Quick In-Place, Heap

LeetCode problems: Two Sum #1, Merge Sorted Array #88, Valid Palindrome #125

Interview exercises: Reverse String, Remove Duplicates, Remove Whitespaces, Longest Word

I'm planning to expand it by adding data structures and more LeetCode problems.

If you're also learning Go or algorithms — I'd be happy if this helps you and to hear your feedback!


Repository: github.com/AshBuk/AlgoDSgo

Top comments (0)