Practical uses of different data structures
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.
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 - undoredo 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
I am in the same boat as you do. I need to study for tech interviews, but memorizing a list is not really helpful. If you have 3-4 hours to spare, and want to do a deeper dive, I recommend checking out
mycodeschool
I've looked on Coursera and other resources such as blogs and textbooks, but I find them either not comprehensive enough or at the other end of the spectrum, too dense with prerequisite computer science terminologies.
The dude in the video have a bunch of lectures on data structures. Don't mind the silly drawings, or the slight accent at all. You need to understand not just which data structure to select, but some other points to consider when people think about data structures:
I also posted notes on github if you are interested.
As per my understanding data structure is any data residing in memory of any electronic system that can be efficiently managed. Many times it is a game of memory or faster accessibility of data. In terms of memory again, there are tradeoffs done with the management of data based on cost to the company of that end product. Efficiently managed tells us how best the data can be accessed based on the primary requirement of the end product. This is a very high level explanation but data structures is a vast subjects. Most of the interviewers dive into data structures that they can afford to discuss in the interviews depending on the time they have, which are linked lists and related subjects.
Now, these data types can be divided into primitive, abstract, composite, based on the way they are logically constructed and accessed.
I hope this helps you dive in.
链接地址: http://www.djcxy.com/p/6784.html上一篇: Java树数据
下一篇: 不同数据结构的实际用途