It’s more than just style…
Now, in addition to having an aesthetic understanding of HTML and CSS, Frontend Engineers are expected to master JavaScript as well. As datastores on the client become “replicas” of databases on the server, intimate knowledge of idiomatic data structures becomes pivotal. In fact, an engineer’s level of experience can be inferred from his or her ability to distinguish when and why to use a particular data structure.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships. — Linus Torvalds, Creator of Linux and Git
At a high level, there are basically three types of data structures. Stacks and Queues are array-like structures that differ only in how items are inserted and removed. Linked Lists, Trees, and Graphs are structures with nodes that keep references to other nodes. Hash Tables depend on hash functions to save and locate data.
In terms of complexity, Stacks
and Queues
are the simplest and can be constructed from Linked Lists
. Trees
and Graphs
are the most complex because they extend the concept of a linked list. Hash Tables
need to utilize these data structures to perform reliably. In terms of efficiency, Linked Lists are most optimal for recording and storing data, while Hash Tables are most performant for searching and retrieving of data.