As a programmer, you are probably familiar with using an array for storing and ordering a collection of data. Programmers intensively use data structures other than arrays in their projects. Knowing and applying proper data structures may play a significant role in program performance. To choose the right data structure, you need to get to know them better. An obvious question might arise of whether we need to study the zoo of data structures— vectors, linked lists, hash tables, graphs, trees, and so on. To answer this question, let's have an imaginary scenario where the necessity for a better data structure will become apparent naturally.
In the introductory content, we mentioned designing an email client. Let's get a general understanding of the basic tasks during its design and implementation.
An email client is an application that lists emails...