Skip to content
S6, EPISODE 04: Mighty Morphin Data Structures, Part 4 episode artwork

EPISODE · Jul 22, 2021 · 5 MIN

S6, EPISODE 04: Mighty Morphin Data Structures, Part 4

from AllWebSD

Introduction The goal for this season of AllWebSD is to deconstruct lessons learned from going head first into data structures. It’s my hope that I can translate a complex topic into an easy-going format and I’ll do so by channeling my inner 10-year-old self. You see back in my day, I was a big fan of the original Mighty Morphin Power Rangers series. So I’m going to take snapshots from that show and brush it with some code. Information on data structures are abundant. To be honest, you don’t have to invent this. And frankly, neither did I. Hence, the code is pre-baked and available on Github. The additional and intentional challenge here is that this is in audio only. If you can follow along, awesome. But remember, the source code is on the repo. I’ll upload a video as well, just in case. That said, are you ready? Alright then. It’s Morphin Time! The Situation Recall from our last episode that Rita threw her magic wand down from the moon and it looks like she sent Scorpina to do her bidding. And yikes, she’s 300 feet tall. The Data Structure It’s time to introduce our priority queue. function createPriorityQueue() { // Make two queues held in closure to determine priority. const highPriorityQueue = createQueue(); const lowPriorityQueue = createQueue(); return { // Set high priority to false by default. Ternary operator will determine if it's high/low priority. enqueue(item, isHighPriority = false) { const queue = isHighPriority ? highPriorityQueue : lowPriorityQueue; queue.enqueue(item); }, // Make sure high priority queue is emptied first BEFORE attempting to dequeue from low priority queue. dequeue() { if (!highPriorityQueue.isEmpty()) { return highPriorityQueue.dequeue(); } return lowPriorityQueue.dequeue(); }, // Similar to dequeue(), let's peek from the high priority queue first. peek() { if (!highPriorityQueue.isEmpty()) { return highPriorityQueue.peek(); } return lowPriorityQueue.peek(); }, get length() { return highPriorityQueue.length + lowPriorityQueue.length; }, // Conjunction of our 2 queues. isEmpty() { return highPriorityQueue.isEmpty() && lowPriorityQueue.isEmpty(); } } } Conclusion Scorpina is 300 feet tall. We can’t do this alone. We’ll need DinoZord power. Join me in the finale where we introduce MegaZord by way of a stack data structure. --- Thanks again for listening in. Remember, I’m here to foster innovation through conversation. So if you’d like to continue this discussion or any topics previously discussed, join me at San Diego Tech Hub and go head first into the AllWebSD Group. It’s totally free. Just visit this link or click San Diego Tech Hub on the footer of AllWebSD.com. Thanks and Aloha!

Episode metadata supplied by the publisher feed · Published Jul 22, 2021

Embed this episode

Ready to play

S6, EPISODE 04: Mighty Morphin Data Structures, Part 4

0:00 5:01

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of AllWebSD?

This episode is 5 minutes long.

When was this AllWebSD episode published?

This episode was published on July 22, 2021.

Can I download this AllWebSD episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!