This blog post talks about the concepts of data structures and algorithms and introduces the why of integrating them. A few topics in data engineering will be scanned through.
What is an algorithm ?
An algorithm is a well structured solution that solve issues.
What are data structures ?
Data structures are notional formulation of information. They actually pair well with algorithms simply because algorithms capabilities to solve problems rely on data structures when implemented.
You can use algorithm to fix your business issues, plan your everyday schedule and anticipate your opponent move when playing chess, but that usually occur in a loose fashion.
However computers make use of it in a very structured style. Therefore all informations shall be processed through data structures and algorithms by programs.
Data engineers as scientists are often solicited to produce polished solutions; and algorithms help us to do just that.
The motto of data structures and algorithms ->
Both notions follow three universal principles in their efficient integration when manipulating informaiton and fixing issues:
How to design algorithm ?
In a broad sense, many algorithms approach problems in the same way. Thus, it is often convenient to classify them based on the proceedings they employ. One reason to classify algorithms in this way is that often we can gain some insight about an algorithm if we understand its general path. This can also give us ideas about how to look at similar problems for which we do not know algorithms. Of course, some algorithms defy classification, whereas others are based on a combination of approaches. Here a re some to say the least:
-> Randomized Algorithms
-> Greedy Algorithms
Each of them will be the object of an up coming article where we will be focusing in great details on how they work and how to use them smartly to structure our data.