In this chapter we will compare the data structures we have learned so far by the performance (execution speed) of the basic operations (addition, search, deletion, etc.).We will give specific tips in what situations what data structures to use.
You may wonder why we pay so much attention to data structures and why we review them in such a great details.
The reason is we aim to make out of you thinking software engineers.
Without knowing the basic data structures and computer algorithms in programming well, you cannot be good developers and risk to stay an amateur.
Whoever knows data structures and algorithms well and starts thinking about their correct use has big chance to become a professional – one that analyzes the problems in depth and proposes efficient solutions.
Data structures and algorithms are the fundamentals of programming.
In order to become a good developer it is essential to master the basic data structures and algorithms and learn to apply them in the right way.To a large degree our book is focused on learning data structures and algorithms along with the programming concepts, language syntax and problem solving.We also try to illustrate them in the context of modern software engineering with C# and . We cannot talk about efficiency of algorithms and data structures without explaining the term "algorithm complexity", which we have already mentioned several times in one form or another.We will avoid the mathematical definitions and we are going to give a simple explanation of what the term a measure which evaluates the order of the count of operations, performed by a given or algorithm as a function of the size of the input data.To put this simpler, complexity is a rough approximation of the number of steps necessary to execute an algorithm.When we evaluate complexity we speak of order of operation count, not of their exact count.