Practical uses of different data structures

Joel picture Joel · Oct 8, 2009 · Viewed 115.7k times · Source

There's a lot of talk about data structures, but I can't find a simple list of data structures and their practical use out there. I'm trying to study for an interview and I think this would help me out, along with many others. I'm looking for something like this:

Data structure - Example/Used for

Hash table - fast data lookup ...then give an example

Array - ...

Binary tree - ...

If there is a resource like this somewhere, please let me know.

Thanks!

EDIT: I mean wikipedia is good and all, but on most of the pages they don't actually list practical uses. I'm looking for something more than that.

Answer

MXMLLN picture MXMLLN · Mar 10, 2013

Found the list in a similar question, previously on StackOverflow:

Hash Table - used for fast data lookup - symbol table for compilers, database indexing, caches,Unique data representation.

Trie - dictionary, such as one found on a mobile telephone for autocompletion and spell-checking.

Suffix tree - fast full text searches used in most word processors.

Stack - undo\redo operation in word processors, Expression evaluation and syntax parsing, many virtual machines like JVM are stack oriented.

Queues - Transport and operations research where various entities are stored and held to be processed later ie the queue performs the function of a buffer.

Priority queues - process scheduling in the kernel

Trees - Parsers, Filesystem

Radix tree - IP routing table

BSP tree - 3D computer graphics

Graphs - Connections/relations in social networking sites, Routing ,networks of communication, data organization etc.

Heap - Dynamic memory allocation in lisp

This is the answer originally posted by RV Pradeep

Some other, less useful links:

Applications are only listed for some data structures

Not application focused, by good summary and relevant