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.
The decision-based algorithm is used in machine learning which works upon the algorithm of the tree. Databases also use tree data structures for indexing.
Mobile Phone: Call log in mobiles uses the stack, to get a first-person call log you have to scroll. Garage: If a garage is not wide enough. To remove the first car we have to take out all the other cars in after it. Text Editors: Undo or Redo mechanism in the Text Editors(Excel, Notepad or WordPad etc.)
Producers/consumers often use a balanced tree implementation to store a document in memory. Computer chess games build a huge tree (training) which they prune at runtime using heuristics to reach an optimal move. Flare is a visualization library written in AS.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With