S8

E7

"I will not repeat myself again." - Dynamic Programming

S8

E6

We use Dijkstra's algorithm to find the shortest path from one node to another in a complicated house-shaped graph. Also, Vaidehi sings us a song.

S8

E5

To get from one point to any other point in a graph, make Dijkstra your weapon of choice.

S8

E4

DAG-nabbit! Don't forget to check whether or not a graph is a directed acyclic graph.

S8

E3

Traversing through a graph is pretty edgy.

S8

E2

To go about coding the depth-first search algorithm (DFS), we revisit an old friend: adjacency lists.

S8

E1

When going through a maze, hitting a dead end isn't always a bad thing, especially in depth-first search (DFS).

S7

E8

Take a deep breath as we dive into breadth-first search, a super nifty graph traversing algorithm, which gives the shortest way to get from one node to another.

S7

E7

Adjacency lists are the new type of hybrid you're going to want to be driving around your code.

S7

E6

We tackle representing graphs and the parts that make it up.

S7

E5

You won't want to miss the buzz about b-trees, the general version of a 2-3 tree, and a super efficient data storing tree structure.

S7

E4

We dive into a tree data structure that can contain more than one key, which is unlike any tree structure we've covered so far. It is also the reason for their name: 2-3 tree.

S7

E3

If you thought self-balancing AVL trees were cool, just wait till you learn about red-black trees, which also run in logarithmic time!

S7

E2

Listen and learn about a pattern that you can use to figure out the minimum number of nodes we’ll need to create any height-balanced AVL tree, how it leads us to the Fibonacci sequence, and the golden ratio.

S7

E1

We look at the earliest version of the height-balanced tree concept: the AVL tree.

S6

E8

Take a listen as our binary "dog" barks up the PATRICIA tree.

S6

E7

Recycle, reuse, reduce your space by compressing your tries and creating radix trees.

S6

E6

"Do or do not, there is no tries...wait, yes we're still talking tries."

S6

E5

Branch out with us into the tree-like data structure that is tries.

S6

E4

We're getting to the root of where sorting algorithms began with radix sort ("radix" is latin for "root," this is a funny joke I assure you).

S6

E3

We are nearing the end of our deep-dive into sorting algorithms, and looking at the beautiful efficiency of counting sort.

S6

E2

Heapify all the things!

S6

E1

We dig into how heaps are presented as arrays.

S5

E8

We talk about how to add and remove values from a heap with the help of a few cats.

S5

E7

What are heaps? How are they related to binary trees? We use losers, winners, and some cards to help us get to the bottom of heaps!

S5

E6

How does quicksort perform? And how do variables, like the pivot number, affect it? We walk through three examples to find out!

S5

E5

We learn all about our second divide and conquer algorithm, quick sort! We walk through how it works with help from a queendom, a few pointers, and a very helpful pivot number.

S5

E4

Finally, a sorting algorithm that doesn't suck! We explore how merge sort works and why it performs better than insertion, bubble, and selection sort.

S5

E3

We dig into how insertion sort works, how we know where to do our inserting, and how this sorting algorithm performs, all with the help of our new boos.

S5

E2

We are super bubbly about bubble sort! We dig into our second sorting algorithm and break down how it works and why it's actually not a great way of sorting things.

S5

E1

What is selection sort and how does it work? We use broken books and cookies to tell you all about it!

S4

E8

In our season finale, we're wrapping up our sorting algorithm classifications with two final categories: recursive vs. non-recursive and comparison vs. non-comparison. And we throw in some tomatoes, just for good measure.

S4

E7

What does it mean for a sorting algorithm to be "stable"? What about it being internal or external? We explore two more ways to classify sorting algorithms with the help of a few Michaels.

S4

E6

What's a sorting algorithm, and how do we categorize them? We dig into the six ways to classify them and explore why they're so important.

S4

E5

Sets are everywhere, and you're probably already working with them! We talk about how they're actually implemented and how well they perform.

S4

E4

If you know about venn diagrams, then you basically know set theory! We explain how the two are related and connect it back to computer science with the help of some of our favorite foods.

S4

E3

The Brians still need their own tables! We resolve our collision with a new strategy: chaining.

S4

E2

What do you do when you're in a hash table, and two pieces of data get assigned the same spot?! You've got a collision, and you need a resolution! We dig into one strategy to resolve a collision, and make sure each data has a spot.

S4

E1

In our intro to hash tables, we use books, pizza toppings, and fridge operators to break down how hash tables work and what makes them so awesome.

S3

E8

How does breadth-first search actually work? And how do you know whether you should use that, or depth-first search? And what's the Big O notation for BFS anyway? Let's find out!

S3

E7

We are getting in line, or enqueuing, for breadth-first search! We walk through the steps and compare the process to depth-first search.

S3

E6

How does depth-first search perform in terms of Big O notation? And how do you actually implement it, in coding terms? Let's find out!

S3

E5

Let's dig into another depth-first search strategy: inorder! This time, we walk through a numerical example, traversing the tree with fresh, animated voices and a broken washing machine.

S3

E4

We dive into depth-first search by exploring our first of three strategies: preorder! Let's walk through an example step-by-step and get to know members of Saron's fictitious tree family along the way.

S3

E3

How are algorithms related to brownies? And how do we navigate through the nodes of a tree when implementing depth-first search?

S3

E2

We use a triangle to trace simple paths and finally get to the bottom of the seven bridges problem that helped launch graph theory.

S3

E1

We go all the way back to 1735 to a place called Königsberg. It had seven bridges and a tricky math problem that led to the creation of graph theory.

S2

E8

We explore what graphs are, how to define them, and how they're related to discrete mathematics.

S2

E7

What does it mean for an algorithm to be logarithmic? We revisit Big O notation, this time in the context of binary search.

S2

E6

If you've heard of binary trees, you've probably heard of binary search. But how does a binary search algorithm actually work? And do you have to have binary trees, or can you use it on other things?

S2

E5

We dig into binary trees. What makes a tree binary, and why are they so popular in computer science? And how do you implement one?

S2

E4

We explore the world (forest?) of trees even further! We learn what a tree's depth and height are, why they're important, and why unbalanced trees can cause computational problems.

S2

E3

What's in a tree? And why do they always seem to pop up in computer science? We dig into the different parts of a tree, and how certain "tree truths" make them so special.

S2

E2

Where do we see queues in real life? We explore how queues are used in different parts of the tech stack, and help us do things like send email, create animations, and manage requests.

S2

E1

What's in a queue? And how does it relate to stacks? We explore what they do, how they work, and how to implement them.

S1

E8

Where do you see stacks in real life? We look at how browser histories, call stacks, and undo/redo functionality in blogging are implementations of a stack. We also dig into what exactly a stack is made of and how it operates.

S1

E7

Stack Overflow is an awesome resource, but it's also a real life technical thing! We dig into what causes a stack overflow and unpack the rules of creating and working with stacks.

S1

E6

Big O Notation can be scary. But it doesn't have to be! We unpack this popular cs topic and show you how to use it to evaluate different data structures (like linked lists!) and make better programming decisions.

S1

E5

You may be familiar with arrays and hashes and variables, but how much do you know about linked lists? We dig into what they are, how they work, and the pros and cons of using this popular data structure.

S1

E4

Vaidehi and Saron walk through how to count in hexes, discuss where we might see the hexadecimal system in real life, and breakdown the math that makes number 16 so special.

S1

E3

Vaidehi and Saron walk through how to count in hexes, discuss where we might see the hexadecimal system in real life, and breakdown the math that makes number 16 so special.

S1

E2

Vaidehi and Saron explore how encoding works and talk through some popular encoding schemes like ASCII, unicode, and base64.

S1

E1

We give you a beginner-friendly breakdown of how to count in binary (with some fun counting challenges you can join in on!), how it relates to bits and bytes, and why it's important for us to know as developers.

S1

E0

CodeNewbie is teaming up with the incredible Vaidehi Joshi to turn her base.cs blog series into an awesome podcast. Listen to a clip from the first episode, coming out Nov 8. Make sure to subscribe!