
Data Structure Visualizations (2011) - prabhupant
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
======
anonytrary
I was a bit annoyed that the visualizations require you to enter a number,
then press a button, which triggers the input field to clear and disables
input until the current animation is done. So if you wanna see a quick
progression of building a linked list, you have to click, type, press button,
repeat. It'd be neat if they queued up comma separated inputs so you could
actually watch an entire sequence unfold.

~~~
DyslexicAtheist
maybe it's time to mark bubble-sort with a latin-cross (deprecated) too[1][2]

[1]
[https://users.cs.duke.edu/~ola/bubble/bubble.html](https://users.cs.duke.edu/~ola/bubble/bubble.html)

[2] also bubble sort is _shapeist_ and efficiency-shaming :)

------
DyslexicAtheist
QuickSort with Hungarian (Küküllőmenti legényes) folk dance:
[https://www.youtube.com/watch?v=ywWBy6J5gz8](https://www.youtube.com/watch?v=ywWBy6J5gz8)

~~~
jancsika
You know, in some cultures I'd assume a computer scientist paid a bunch of
folk dancers, slapped numbers on them, and and taught them this pattern to
have a laugh with other computer scientists.

But knowing Hungarians, I bet all these folk dancers have math/physics/compsci
degrees and had to draw straws to decide whose interpretation of quicksort to
choose.

~~~
DyslexicAtheist
I picture them all during break time playing with their rubik cubes

------
dang
2013:
[https://news.ycombinator.com/item?id=6928904](https://news.ycombinator.com/item?id=6928904)

2015:
[https://news.ycombinator.com/item?id=10183811](https://news.ycombinator.com/item?id=10183811)

2017:
[https://news.ycombinator.com/item?id=14064865](https://news.ycombinator.com/item?id=14064865)
[https://news.ycombinator.com/item?id=15480517](https://news.ycombinator.com/item?id=15480517)

------
nift
Interesting site! Always cool to see these things visualised.

It reminds me of the visualisation of different sorting algorithm (with
sound): [https://youtu.be/kPRA0W1kECg](https://youtu.be/kPRA0W1kECg)

------
olooney
Some very nice ones in here: AVL and Red/Black trees, especially the rotation
step. I also liked it when the code shows up on the upper left and you can see
it stepping through line-by-line, such as the Fibonacci example.

The radix tree didn't seem to work for me.

------
abhishekjha
Query regarding Preparing for interviews: Is it expected from me to know
implementations for all of them with all the posdible operations?

~~~
anonytrary
All of them? No. The basic ones? Yes. You should know how to implement a
stack, queue, linked list, doubly-linked list, heap, and binary tree. You
should also know how to represent a tree in binary form. You should know how
to balance a binary tree. You should know the time and space complexity of
common operations on those structures. Do they expect you to build a skip-list
from scratch on a whiteboard? Probably not, and they shouldn't. If you're very
familiar with the basics, then implementing more advanced structures is a
matter of doing some basic Googling.

~~~
zimpenfish
> You should know how to implement a stack, queue, linked list, doubly-linked
> list, heap, and binary tree.

Not once in the last 20 years have I had to use one of those that wasn't
already implemented for me. Nor, I suspect, have most people. It's like
requiring a delivery driver to know the internals of engines - completely
unnecessary to getting the day to day work done.

~~~
prepend
I remember in 9th grade there was one kid who complained the entire year about
how he would never use algebra. He asked his dad and his dad said he had never
used algebra. He must have brought this up 30 times and each time the teacher
tried to give practical answers like calculating how much fertilizer or deer
feed (we lived in a farming community). He was unswayed. Comically, he gave
answers where algebra would be helpful if he knew, but because his dad didn’t
know it was difficult (simultaneous solution for cow auction of different
types of cows).

Just because you think you haven’t used or didn’t use, doesn’t mean it’s not
useful. First, maybe I didn’t use because I didn’t know how to use. Second,
maybe there is more to the world than me and the probability of folks needing
info is 95% and I’m in the 5% of the lucky/unlucky.

I try to learn things based on curiosity and intrinsic value that I try to
estimate. The act of learning is valuable as a system and I’m frequently
surprised by putting unlikely topics together.

~~~
zimpenfish
> First, maybe I didn’t use because I didn’t know how to use.

Alas, I grew up having to code my own data structures and consequently got a
thorough grounding in the theoretical and infernal details therein at
University.

> Second, maybe there is more to the world than me

You seem to have taken my personal anecdata as some kind of global diktat. I
assure you, it most certainly was nothing more than a personal anecdata.

------
elderK
Man, I'll always have a soft spot in my heart for these visualizations.

Extremely useful learning aids :)

I remember back in the day when they were Java applets :)

------
amelius
How well can it visualize arbitrary graphs of various types (trees, DAGs,
undirected graphs, cyclic graphs, ...)?

------
winrid
Very cool! Always fun to watch all the different tree implimentations.

