TLDR — Hashing has to do with taking a certain value (for example your password), applying some kind of mathematical operation to it (MD5, SHA-1, SHA-2) called a hashing algorithm or a hashing function, and getting the resulting changed value (known as a hash or hash value or digest message). This is commonly used for passwords and checking document accuracy. See the below image:
They are three main uses for hashing namely document hashing for ensuring accuracy, password hashing for increased security and hash tables for indexing data.
Here is the problem document hashing solves: let us say you have…
TLDR — A Linear search cycles through an array from start to finish whilst a binary search breaks the array into halves and does a half-interval search. If the variable is not found it breaks the array into another half based upon with its position being too high or too low relative to the search topic, as seen below. In general a binary search is much faster for large arrays.
Have a look at this gif below:
A linear search makes more sense in specific circumstances:
The idea of Big O notation was best understood by me in story form, in 2009 a Cape Town homing pigeon called Winston, made history by beating an ISP by delivering 4GB of data 75km, in just 2 hours 6 minutes and 57 seconds, During the same time, the ADSL line had sent just 4% of the data.
Big O notation looks at the amount of time something takes verse the volume of data it has
Listed below are a different scenario
So it takes the pigeon just as long to carry 8GB of data as it does 4GB this…
Traditional CPU’s process tasks in a synchronous order one operation after another, this was enhanced by multi-threaded CPU’s, most PC's today have multiple cored CPU’s. The exception to this is Quantum computing but this isn’t in the scope of this post and as of now is not working.
Multi-threaded CPUs enable the CPU to handle multiple problems at once increasing the performance of the PC.
I'm a Full Stack Developer 🚀 and Linux Enthusiast from Cape Town, South Africa.