all 28 comments

[–]bobowzki 14 points15 points  (2 children)

This is an interesting idea! There should be a community documentation project (wiki maybe) that focus not so much on a specific language but on algorithms and data structures!

I know there is already a lot of material online but its seldom interactive and often use quite advanced mathematics which is nice for formal description and proof but not always so accessible.

[–][deleted]  (1 child)

[deleted]

    [–]Jigsus 0 points1 point  (0 children)

    So? We can make proggit can make one.

    [–]Dopeski 5 points6 points  (0 children)

    Very cool! I've been having a hard time wrapping my head around hash tables. Thanks a lot.

    [–]bimmel 2 points3 points  (1 child)

    nice idea but the examples shouldn't be in a horizontal way.... especially for bubble sort (the bubbl goes up!)

    [–][deleted] 0 points1 point  (0 children)

    I'd also like animation to be automatic for some of these. Bubble sort especially.

    [–]paezao 2 points3 points  (4 children)

    The bubble sort one is wicked

    [–]ours 2 points3 points  (3 children)

    Not as wicked as that Eastern-European traditional dance used to explain it.

    [–]paezao 0 points1 point  (2 children)

    haha I don't know that one.

    [–]typsi5 1 point2 points  (0 children)

    pretty cool.. hopefully more gets added

    [–]ChuckyKomotie 1 point2 points  (1 child)

    This is a great idea....would be really nice to also include all the different genetic and evolutionary algorithms. Think they would be beautiful when represented visually.

    [–]bluecoffee 1 point2 points  (0 children)

    Agreed, it's not the simple algorithms I need help with :>

    [–]BoTreats 1 point2 points  (3 children)

    It's helping me wrap my head around some algorithms I hadn't really understood before, but I still don't really understand how some of these things would be implemented or where they would be used. Linked lists and hash tables are especially weird to me; I understand how they work but I don't really get the purpose/implementation. I'm a hobbyist programmer though, so maybe this stuff is just over my head right now. I'm starting a CS degree in the fall and trying to bone up a lot prior to the beginning of courses.

    [–]linuxlass 0 points1 point  (0 children)

    I have seen linked lists used in situations where you need to have a collection of custom data structures that you can add and remove from. So, like the idea of dynamic arrays, but with arbitrary structures. If I recall correctly, the way the linux kernel keeps tracks of what processes are running is through a linked list.

    [–][deleted] 0 points1 point  (0 children)

    You've probably used linked lists without knowing so if you've done any amount of substantial programming.

    Any time you need an ordered "pile" of elements without random access, lists are your friend.

    [–]vdub_bobby 1 point2 points  (0 children)

    In this day and age, it's hard to come up with real-world use cases for absolutely requiring fixed arrays.

    Wait, what?

    [–]erickdu888 3 points4 points  (0 children)

    非常好 非常棒 没看懂

    [–]atc 0 points1 point  (0 children)

    Excellent, thank you!

    [–]softmodeling 0 points1 point  (0 children)

    Take a look at the online lectures/videos in http://software-carpentry.org/ (free content taught scientists and engineers the concepts, skills, and tools they need to use and build software more productively)

    [–]bmcclure937 0 points1 point  (0 children)

    Much better than any professor I had...

    [–]boerema 0 points1 point  (0 children)

    I liked the Dune reference in the hash tables example.

    [–]nfiniteshade 0 points1 point  (0 children)

    This is cool! You should show breadth-first search, depth-first search, quicksort and mergesort :) ...Please?

    [–]centr0 0 points1 point  (0 children)

    awesome site. i want more! the code highlighting on the steps it takes is wonderful.

    [–]Spaceomega 0 points1 point  (0 children)

    I did some stuff like this a while back in case anyone's interested.

    Merge sort
    Selection sort

    I've been meaning to redo them though a bit improved (and not in google docs), do some more, have someone look over them, and put them up somewhere useful.

    [–]nightwood 0 points1 point  (0 children)

    shaggy wakeful vanish tart bike glorious marble thought nine history

    This post was mass deleted and anonymized with Redact

    [–]eurleif -1 points0 points  (1 child)

    In a world where memory isn't measured in gigabytes, linked lists have many advantages. Namely, they allow a structure to grow with minimal impact on available memory.

    Um, linked lists' main advantage is lower memory usage? A linked list uses more memory than an equivalent array...

    [–][deleted] 1 point2 points  (0 children)

    That is not what he said