Skip to content

Latest commit

 

History

History
51 lines (44 loc) · 2.26 KB

notes.md

File metadata and controls

51 lines (44 loc) · 2.26 KB

Rust DSA (the Data structure & algorithm kind of dsa)

Motivation

We already did this once. But the videos are long and have background music and it was awhile ago and I was a lot worse at Rust back then (according to my highly skewed view of myself). So what if we could do a data structure in 2-3 hours and actually finished it one stream/video. Yay, content Yay, no background music in VODs so maybe can do other things with them? Also, great chance for me to practice more Rust and DSA stuff on a personal level (because I have to start interviewing in a couple months)

Concerns

  • Chat distracts me (tbh everything distracts me)
  • I still have skill issues
  • So not sure if I can actually finish a data structure in a single stream
  • I also want to explain some of what the data structure is for those who don't know. Maybe I need a time limit on that at the beginning of vid/stream.

Stipulations/Rules (I don't like those)

  • explain the data structure in five minutes
  • It's cheating obviously for me to just look at my old implementations of a data structure
  • Not going to look up code examples of the dsa that I'm coding (duh)
  • But it's also unlikely that I can finish one quickly if I have to re-remember on stream exactly what the data structure does (e.g. adding/removing from a BST) so it seems that a little pre-stream prep is good.
  • A few notes, perhaps shared on screen about the data structure and basic behavior explained in non-code

Format

  • pre-stream (but still possibly live): write intro of blog post
  • 5m reading introduction of blog post
  • Implement the data structure in < 3 hrs (hopefully)

What are we going to write

  • linear search (slice)
  • binary search (slice)
  • linked list
  • doubly linked list
  • rawvec (growable array)
  • array list/vec
  • FiFo queue (backed by linked list)
  • sorting algos (bubble, quick)
  • ring buffer
  • binary search tree
  • priority queue/min heap
  • use pq for dijkstra's
  • hashmap
  • harder stuff (prefix tree/trie, b tree, r/b trees, avl, matrix stuff)

Blog posts

  • write.as
  • maybe it makes sense to write the explanatory/introductory section of the blog before stream

random stuff