S6:E2 - "Getting to the bottom of the heap...sort."
We've gotten acquainted with heaps as arrays, now we're diving into heap sort with some help from a few condiments! Based on Vaidehi Joshi's blog post, "Heapify All The Things With Heap Sort".
We've gotten acquainted with heaps as arrays, now we're diving into heap sort with some help from a few condiments! Based on Vaidehi Joshi's blog post, "Heapify All The Things With Heap Sort".
So we've talked about heaps, but how do you represent heaps as arrays? And why would you want to? We break it down step by step! Based on Vaidehi Joshi's blog post, "Learning to Love Heaps".
Now that you've got your heap, what do you do with it? Shrink and grow it of course! We talk about how to add and remove values from a heap with the help of a few cats. Based on Vaidehi Joshi's blog post, "Learning to Love Heaps".
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! Based on Vaidehi Joshi's blog post, "Learning to Love Heaps".
How does quicksort perform? And how do variables, like the pivot number, affect it? We walk through three examples to find out! Based on Vaidehi Joshi's blog post, "Pivoting To Understand Quicksort [Part 2]".
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. Based on Vaidehi Joshi's blog post, "Pivoting To Understand Quicksort [Part 1]".
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. Based on Vaidehi Joshi's blog post, "Making Sense of Merge Sort ".
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. Based on Vaidehi Joshi's blog post, "Inching Towards Insertion Sort".
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. Based on Vaidehi Joshi's blog post, "Bubbling Up With Bubble Sorts".
What is selection sort? How does this algorithm work? And just as importantly, how does it perform? We use broken books and cookies to tell you all about it! Based on Vaidehi Joshi's blog post, "Exponentially Easy Selection Sort".
We're at the end of the season! And to wrap things up, we're breaking down the last two ways to classify sorting algorithms: recursive vs. non-recursive and comparison vs. non-comparison. We bring it all together to talk about what we can do with all these classifications, and, in true basecs podcast fashion, we bring in seemingly unrelated topics like tomatoes! Based on Vaidehi Joshi's blog post, "Sorting Out The Basics Behind Sorting Algorithms".
Last week, we talked about two ways of classifying sorting algorithms: time complexity and space usage. This episode, we dig into two more! We explore how algorithms can be internal or external, and what "stability" means for a sorting algorithm. And we do it all with the help of cards, clovers, and a pair of Michaels. Based on Vaidehi Joshi's blog post, "Sorting Out The Basics Behind Sorting Algorithms".
You probably sort things all the time -- files, clothes, dishes. But have you thought about how to categorize your sorting? How do your sorting algorithms hold up in terms of, say, time complexity? We give you an introduction to sorting algorithms, what they are and what they're used for, and dig into the six ways we can classify them. Based on Vaidehi Joshi's blog post, "Sorting Out The Basics Behind Sorting Algorithms".
Sets are everywhere! If you've worked with relational databases, made a venn diagram, maybe touched some relational algebra, then you've already worked with sets. We talk about why they're so common, how well they perform (time for some Big O Notation!), and how they're actually implemented. Based on Vaidehi Joshi's blog post, "Set Theory: the Method To Database Madness".
Set theory might sound like a scary, super-math thing, but it's not! Well, it is a math thing, but it doesn't have to be super scary. In fact, if you already know how venn diagrams work, then you basically already know set theory. We'll walk you through it all and show you how it connects back to computer science with the help of our favorite foods. Based on Vaidehi Joshi's blog post, "Set Theory: the Method To Database Madness".
We're back in our hash table classroom with our multiple Brians that need their own tables! But don't you worry, we've got a brand new collision resolution called chaining to help us out. We talk about how it works and how it compares to linear probing. Based on Vaidehi Joshi's blog post, "Taking Hash Tables Off The Shelf".
School is in session, and the teacher is directing students to their assigned seat. Each unique name gets its own unique table. But there's an unexpected student in the class. There's another Brian! What do we do?! In this episode, we dig into how to manage these collisions in a hashtable, and how to use our collision resolution strategy to find new Brian his own desk. Based on Vaidehi Joshi's blog post, "Taking Hash Tables Off The Shelf".
We're kicking off a new season with a brand new topic: hash tables! This episode is full of bookshelves, pizza toppings, and helpful fridge operators who are teaming up to give you the most gentle (and the most fun) introduction to the world of hash tables. Based on Vaidehi Joshi's blog post, "Taking Hash Tables Off The Shelf".
Let's break down how breadth-first search (BFS) actually works! We'll walk through a real example, explain the Big O notation of this algorithm, and explore how you might decide whether to use breadth-first search or depth-first search. Based on Vaidehi Joshi's blog post, "Breaking Down Breadth-First Search".
We're going broad with breadth-first search! Well, actually, we're getting in line, or enqueuing ;) We walk through the steps of how breadth-first search (BFS) works, complete with holiday themed analogies and reindeers that need a GPS. We also compare and contrast the steps of BFS to those in DFS (depth-first search). Based on Vaidehi Joshi's blog post, "Breaking Down Breadth-First Search".
In our final look at depth-first search (DFS), we explore how to implement this lovely algorithm in coding terms. We also dig into Big O notation, breaking down how to determine the time and space complexity of DFS. Based on Vaidehi Joshi's blog post, "Demystifying Depth-First Search".
Let's dig into another depth-first search strategy: in-order! This time, we walk through a numerical example, traversing the tree with fresh, animated voices and a broken washing machine. And when you're done learning all about inorder, take our postorder challenge! Tweet us the output of a postorder strategy applied to this binary search tree. Make sure to use the #basecs hashtag, and no cheating! :D Based on Vaidehi Joshi's blog post, "Demystifying Depth-First Search".
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. Based on Vaidehi Joshi's blog post, "Demystifying Depth-First Search".
How are algorithms related to brownies? And how do we navigate through the nodes of a tree when implementing depth-first search? Vaidehi and Saron break it all down one chocolatey step at a time. Based on Vaidehi Joshi's blog post, "Demystifying Depth-First Search".
We’re back in Königsberg, crossing bridges and taking names! We use a triangle to trace simple paths and finally get to the bottom of the seven bridges problem that helped launch graph theory. Based on Vaidehi Joshi's blog post, "Königsberg: Seven Small Bridges, One Giant Graph Problem".
We kick off season 3 with time travel! We go all the way back to 1735 to a lovely place called Königsberg. It had seven bridges and a tricky math problem that led to the creation of graph theory. Can you solve the problem? Based on Vaidehi Joshi's blog post, "Königsberg: Seven Small Bridges, One Giant Graph Problem".
Vaidehi loves graphs, and you will too! We end the season with an exploration of what they are, how to define them, and how they're related to discrete mathematics. Based on Vaidehi Joshi's blog post, "A Gentle Introduction to Graph Theory".
What does it mean for an algorithm to be logarithmic? We revisit Big O notation, this time in the context of binary search. Based on Vaidehi Joshi's blog post, "Looking For The Logic Behind Logarithms".
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? Based on Vaidehi Joshi's blog post, "Looking For The Logic Behind Logarithms".
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? Based on Vaidehi Joshi's blog post, "Leaf It Up To Binary Trees".