# Articles with the tag "algorithms"

Stacks - What they are, and how to implement them in Go

In this video we cover the stack data structure. Specifically, we talk about how they relate to the real world and then we discuss how to implement a stack using Go.

Queues - What are they and how do I implement one in Go?

In this video we cover what a queue is, how it relates to lines (like at the grocery store) in the real world, and how to implement a Queue in Go.

Let's Learn Algorithms - Updated Format, MOAR VIDEOS!

Join the discussion on Reddit I started the Let's Learn Algorithms series originally by writing tutorials that would: Teach how an algorithm works Demonstrate how to implement that algorithm in code Provide some practice problems so you can get real practice implementing the algorithm in different scenarios (2) and (3) are in my opinion incredibly important pieces to the puzzle that are often missing in many other courses, so I really try to give them just as much focus as the initial lesson that just teaches how the algorithm works.

Representing a Binary Tree in Go Code

See https://play.golang.org/p/u4E6mrios0 for the completed code from this video. In this video we learn how to represent a binary tree in Go code. Once we have the basic structure in place, we then go a step further and define an input file format that we can use to read in arbitrary binary trees moving forward to test our algorithms with. This post is part of the Let's Learn Algorithms series where we learn how algorithms work, see how to implement them, and then spend some time working on practice problems to reinforce how the implementation details work, as well as to help you learn to recognize problems that could be solved using any particular algorithm.

Depth First Search (DFS) on a Binary Tree

In this video we cover how the depth first search algorithm works. We do so by starting with a binary tree and walking through how the algorithm would iterate over the tree searching for a specific node. We intentionally start with a tree because this removes a lot of complicating factors that might be present in other graphs, such as running into a cycle, but everything you learn here will be applicable to when we start working with cyclical graphs to also run our DFS.

Trees are also Graphs

In this video we discuss a specific type of graph - the binary tree. In the video we discuss some of the properties of a tree that make is a special type of graph, and then we discuss a few common properties of trees that aren’t always present, but are often there in order to make trees a more optimal data structure to work with. This is all used to set the stage for upcoming videos where we start to implement some algorithms first using trees, and then later on more general graphs.

Articles and Tutorials by
Jon Calhoun

Jon Calhoun is a full stack web developer who teaches about Go, web development, algorithms, and anything programming. If you haven't already, you should totally check out his Go courses.

Previously, Jon worked at several statups including co-founding EasyPost, a shipping API used by several fortune 500 companies. Prior to that Jon worked at Google, competed at world finals in programming competitions, and has been programming since he was a child.