Welcome to the new section in my blog. It’s going to be a bit different from already published posts. From now on, the blog is going to be divided in 2 sections, the traditional one with all the Raspberry Pi and Pine64 projects, tutorials and various blogs, as we already had. And the new section with posts about efficient programming, different types of algorithms, tips for a good programming and new topics that will came.
The idea of creating this new section came few week ago, when I needed to solve a problem on the most efficient way. The objective was to find the different solutions and compare the efficiency of all of them and document everything.
When I started to plan the problem y I started to get an idea of how could I solve it, I realised the amount of operations we normally use on daily programming without realizing how they really work internally. On multiple occasions we have called a function to sort an array of data, but… do we really know what is doing that function internally?. In many cases could destroy the efficiency of the entire project. Or when we have designed a recursive algorithm for our problem and we have done it without thinking of all cases in which it will work, can be totally unnecessary and repetitive operations. Or just have poorly designed algorithm and did not get the most optimal design. And hundreds of cases in which simply we act without thinking.
Well, this new section is geared to see how those algorithms and ways of thinking can help us improve our code and efficiency.
Efficiency is behind every detail.
How is going to be organized and published?
The idea is to publish a post by algorithm. And Grouping all post within groups, ie, all the sorting algorithms within the group of “sorting algorithms”; Search algorithms on the search one and routing in its respective. Did you catch it? hope so ;).
The content will be the mentioned so far, problems will be published and analyzed respectively. The different ways to solve the problem with the different algorithms, will be posted in several posts. In this way, eventually it is expected to see the most famous algorithms and ways of thinking and designing them.
As always you can leave comments and suggestions of problems you are interested in.
How is going to be redacted?
All the algorithms are going to be explained following a general structure, that may vary, but the idea is to keep it constant in every post.
In the Posts, the algorithm will be relying on images, to facilitate compression and visual reading. The explication will be accompanied by code, which will be shown as follows:
Beside, all the code will be on a public repository, located on GitHub. On the post, you will only find the key parts of the code for the correct understanding, the rest will be on the public repository linked on the bottom of the post.
For any questions, you can leave it in the comments.