Why do programmers organize data in specific ways? What advantages does one way of organizing data have over a different way of organizing data?
The reason we use abstract structures is because they efficiently use memory based on the design of the data stored in them. With very large amounts of data or very frequently changing data, the data structure can make a huge difference in the efficiency (run time) of your computer program.
In more common language, an abstract data structure is just some arrangement of data that we've built into an orderly arrangement.
What is really interesting here is how and why we store data.