Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Practical uses of different data structures [closed]

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.

like image 300
Joel Avatar asked Oct 08 '09 16:10

Joel


People also ask

What is the practical use of data structures?

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.

What are the real life applications of stack data structure?

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.)

Where is tree data structure used in real life?

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.


1 Answers

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

like image 196
MXMLLN Avatar answered Oct 11 '22 12:10

MXMLLN