Introduction When executing a particular task using algorithms, one common thing that hits every problem solver brain is the efficient and fast algorithm to solve that problem. But, what do exactly fast and efficient means? Is it the measure of real processing time? No, it's not the measure of real time like second and minutes because the old computer with Pentium processor may take a long time to process the same algorithm than the new Intel i3 processor, or, A bad algorithm written in Assembly may execute faster than a good algorithm written in python. So, run time of program can't be considered to measure algorithmic efficiency. Hence, to measure the algorithmic efficiency, the concept of Asymptotic Complexity of a program and a notation for describing this called Big Oh was introduced. Big Oh is the worst case, Big Omega and Big Theta are best and average case notations. Worst case means we are mostly unlucky for that problem domain , i.e precondition of task do
Introduction to stream editor A stream editor is a tool that transforms text, edit a file and replaces file content with the manipulation using the regular expression. Why I used Stream Editor? I find this tool handy and more useful when I have to c hange a word of a file line by line. I faced this issue while updating my Debian operating system from Jessie "Debian 8" to stretch "Debian 9" for that, I have to update my /etc/apt/sources.list file, in which I have to change the each "Jessie" word in that file to "stretch" So, I use this command sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list Here the "s" specifies the substitution. The "/" are delimiters. "jessie" is the search pattern and "stretch" is the replacement pattern. for more refer to sed manual page here or prefer manual page in your machine for sed commands.