**
Introduction
**

Computer users may not think about this knowingly, but all operations executed by computers involve algorithms. An algorithm is a well-described procedure which permits a computer to solve a problem or attain a particular objective. An algorithm can also be described as a sequence of unambiguous instructions which are used to accomplish a particular objective. Computer codes are algorithmic and the internet operates on algorithms and all online searching is attained through these algorithms. GPS mapping system helps people navigate between places using algorithms. Most financial transactions occur as a result of algorithms. Smartphones applications are mere algorithms. Emails know where to go because of algorithms. Algorithms are significant because the optimize everything. They make things easier, save lives and conquer chaos. Algorithms are usually sophisticated and exceptionally useful tools used to implement a given task. They are commonly invisible aids, supplementing human lives in progressively incredible ways. Owing to the significance of algorithms in technology development, this study will look at computer algorithms, their significance and how they are used and the impact they have on our everyday lives.

**
Types of Algorithms
**

In simple terms, algorithms are sequences of steps which permit a user to solve a given a particular problem. Algorithms have three basic and fundamental characteristics if they are to be considered valid, they encompass:

Delegate your assignment to our experts and they will do the rest.

Algorithms should be finite: an algorithm must be able to find a solution to a particular problem by having finite steps in solving a problem.

Algorithms must have well-defined instructions: every step of an algorithm must be accurately defined; meaning the instructions should be clearly defined for every case.

Algorithms should be effective: an algorithm should be able to solve a problem it was designed to address. It should also be able to demonstrate that it converges.

There are various forms of computer algorithms. Algorithms which use the same problem-solving strategy may be grouped together. The classification scheme may is neither disjoint nor exhaustive. From Smed & Hakonen (2017), the chief objective is not to be in a position to categorize an algorithm as one sort or another, rather, to pinpoint the different ways that a problem can be solved. Some algorithm classification includes:

Randomized algorithms

Brute Force algorithms

Branch and bound algorithm

Greedy algorithm

Dynamic programming algorithms

Divide and conquer algorithms

Backtracking algorithms

Simple recursive algorithm.

From Jordan & Mitchell (2015), a randomized algorithm is one which applies for a random number at least once during computation to find a solution to a problem. Brute force algorithm merely attempts all possible solutions to a problem until a satisfactory solution is found. Such an algorithm may be satisficing which implies it stops as soon as a satisfying solution is found or optimizing which implies it may attempt to find the best possible solution to a problem (Kocay & Kreher, 2016). Usually, the brute force algorithm needs exponential time, to reduce this time several approaches may be used such as heuristic which helps decide which possibility to look at first and optimization which eliminates particular possibilities without fully exploring them. Branch and bound algorithm are employed for optimization tasks. As the algorithm develops, a tree of sub-tasks is developed. The main task is measured the root problem and methods are used to develop lower and upper bound for a particular problem. According to Kocay & Kreher (2016), an optimization task is one where you are looking to find the best solution to a problem. The greedy algorithm is essential for optimization problems.

Dynamic programming algorithms recall the past and use this to solve new problems. Generally, the dynamic programming algorithm is used for optimization problems. This type of algorithm has an optimal set-up with an optimum solution containing best solutions to sub-tasks and also overlying sub-problems whose solutions may be kept and used again in a bottom-up manner (Smed & Hakonen, 2017). The divide and conquer algorithm is made of two section, dividing the task into smaller sub-tasks of a similar nature and solve such sub-tasks recursively and amalgamating the solution to the subproblems into a solution to the initial task. Conventionally, an algorithm will only be regarded as a divide and conquer if it encompasses two or more repetitive calls. From Kocay & Kreher (2016), the backtracking algorithm is grounded on a depth-first recursive search. The simple repetitive algorithm addresses the base cases directly. The algorithm returns with a simpler sub-task by doing some additional work to translate the solution to the simpler sub-task into a solution to a provided task. This recessive algorithm is considered ‘simple' because various other algorithm types remain inherently recursive.

**
Examples of Effective Algorithms in the World
**

Merge Sort, Quick Sort and Heap Sort: these are three algorithms are effective in sorting elements. The merge and sort algorithm is an appraisal-based categorization algorithm which employs the divide and conquer method to solve problems (Jordan & Mitchell, 2015). The QuickSort is a dissimilar approach to sorting tasks because it employs in-place partition algorithms and it also uses the divide and conquer approach. The Heap Sort algorithm employs a priority queue which decreases the search time in the information, it also employs in-place partition.

Dijkstra's Algorithm: this algorithm is essential to any problem which can be modeled as a graph and it helps determine the shortest distance between two nodes.

Fourier Transform and Fast Fourier Transform: these signals are used in there from their frequency domains, they are used in WIFI, computers, smartphones, satellites, and routers.

RSA Algorithm: this algorithm offers a solution to the problem of how to allocate public keys among independent platforms and the end user (Jordan & Mitchell, 2015)

Integer Factorization: this is a computational algorithm which is employed in the computing field. It helps to secure key aspects such as cryptography.

Secure Hash Algorithm: this is a group of cryptographic hash functions created in the U.S by NIST. They help in the functioning of email, app store in smartphones, browsers and antiviruses by determining if a user has downloaded what they wanted or if they are victims of a phishing attack.

Link Analysis: this algorithm represents a graph as a matrix which subsequently makes it an eigenvalue task. This eigenvalue offers a realistic approach to the structure of the graph and the comparative implication of every node (Boldo & Melquiond, 2017)

Data Compression Algorithm: these algorithms are significant in all structures for instance in zipped documents and downloading a web page into your computer.

Proportional Integral Derivative Algorithm: It employs a loop feedback system to reduce the error between anticipated output and the actual output signal.

Random Number Generation: these are used in cryptography, interlink connection, artificial intelligence, video games and secure hash algorithms.

**
Application of Algorithms
**

Every time a user hits the search button on a search engine such as Google, the search engine sifts through millions of available web pages in order to produce the content the user is searching for in a fraction of a second. This execution is made possible because of the underlying algorithm which is a set of mathematical procedures which are embedded in the search engine. Every time one withdraws money from an ATM (automated teller machine) or book a train or air or purchase something on Amazon, they are merely expanding the range and scope of the algorithm. According to Goodfellow et al, (2016), the use of computers has raised the complexity and use of algorithms in businesses to unparalleled levels.

When people use phones, laptops, computers, or mileage calculator in a car, they are using algorithms. Even though the use of algorithms to retrieve relevant a suitable data from the huge amount of data being collected by corporate entities, agencies, and governments, is not a novel phenomenon, its application has grown and touched deeper into daily lives of ordinary individuals. From Goodfellow et al, (2016), Google and Facebook search is also grounded in algorithms, even though they are more sophisticated than the regular algorithms. Biometric use is also grounded in algorithms which it uses to store and retrieve iris and fingerprints scans. Biometrics may be defined as a procedure geared toward identifying humans by a particular physical characteristic such as fingerprints. Computer Scientists have worked out algorithms which can evaluate a particular fingerprint and match it against a database. Algorithms are infused in technology because regardless of the system one develops, they first must develop an algorithm to run it. These days, developers are working to develop algorithms that are much more effective by minimizing the time needed for an algorithm to find a solution to a problem (Boldo & Melquiond, 2017).

It is, however, essential to note that although algorithms work on what humans define to be and process large-scale data for a particular resolution, not all these determinations may be employed for the common good. For instance there some algorithms which may be used by administrations to increase surveillance of its population through mining all likely data encompassing Communication via Skype and emails, phone calls, and text and WhatsApp message. Fatima & Pasha (2017), state the U.S has already begun using algorithms to accomplish predictive policing. Teams of data scientist and criminologists compile crime statistics over a given region over time and overlay it with other datasets such as outside temperatures and social housing maps and they use algorithms to look for correlation in the dataset and identify crime hotspots where police can increase surveillance and patrols.

Crime deterrence is one important objective of mapping crime. Past crime records that contain the location and time of a crime and the criminal behaviour such as the mobility of the criminal and modus operandi are also evaluated. An algorithm which can be used to predict property crimes for instance house break-ins will be developed over time. There are also geographical information systems (GIS) which are used to trace the political, economic and ethnic aspects of riots. According to Fatima & Pasha (2017), the use of algorithms is poised to develop over the next years as consumer economic shift to smart products, for instance, an internet-enabled fridge or smart TVs. It is essential to note that algorithms are only beneficial if they are used to aid humans.

**
Advantage and Disadvantages of Algorithms
**

Algorithms may be seen as recipes for the internet. They are used in maps, video games, news feeds, spam filters, social media, search engines, and recommendation engines. Algorithms are usually visible and with current developments, they are only getting smarter. Algorithms are designed for optimizing everything. At the same time, their computer scientist who believe that by developing algorithms we are putting too much power in the hands of governments and corporate entities, develop a filter bubble, perpetuate bias, cut creativity and may result in unemployment (Fatima & Pasha, 2017). There are some who believe that algorithms will benefit humans while others believe they will harm humanity. As such, this section of the study will explore the advantages and disadvantages of algorithms.

**
Advantages
**

Algorithms aid humans make more coherent choices grounded on evidence and mathematically verified steps.

They also offer us with connectivity and therefore can endorse things such as an appropriate diet for a movie.

They help make life more efficient and convenient for instance people are able to withdraw money from ATMs.

Algorithms also help people obtain loans because banks now move away from using factors such as socio-economic background, race and postal code in order to measure fit.

People are able to manage their health better and they also alleviate the burden on the system.

Governments will be in a position to conduct less surveillance and regulation in areas such as traffic and mitigate bureaucracy and crime rate by identifying patterns and trends.

Algorithms imply less economic, less congestion, and less population

**
Disadvantages
**

Many algorithms are developed to optimize profitability and efficiency without looking at possible implications on the society.

Algorithms present differential pricing which offers customers prices they are willing to pay often for the benefit of the corporation or company rather than the client.

Algorithms may be used to marginalize people and target them through developing hotspots which portray particular zones or particular communities as being prone to crime.

Data which is used as input in algorithms contains bias, therefore output may result in institutionalized bias or damaging decisions.

Algorithms kill local proficiencies, local intelligence, local entrepreneurship and minority languages since obtainable resources will be drained out by international competitors.

The general effect will be positive for some groups will be positive while it will be negative for the uneducated and poor. As a consequence, the wealth disparity and digital divide will continue to grow.

**
Conclusion
**

Algorithms are in almost every aspect of our everyday lives. They are integral because they help improve efficiency and help make life easier for humans. Algorithms work to solve problems by following a sequence of step-by-step procedures. They are essentially recipes of well-defined instructions which are followed in order to accomplish a particular objective. There are different types of algorithms and this difference stems from the dissimilar approaches these algorithms use to solve a particular problem. Similarly, algorithms have everyday application in all aspects that rely on computer technology be its financial transactions, emails, video games, antiviruses etc. if properly utilized, algorithms offer potential benefit to humanity, nonetheless if not properly managed it can have destructive impacts on humans. As such, computer scientists are tasked with developing algorithms which will help improve the quality of human life.

**
References
**

Boldo, S., & Melquiond, G. (2017).
*
Computer Arithmetic and Formal Proofs: Verifying Floating-point Algorithms with the Coq System
*
. Elsevier.

Fatima, M., & Pasha, M. (2017). Survey of machine learning algorithms for disease diagnostic.
*
Journal of Intelligent Learning Systems and Applications
*
,
*
9
*
(01), 1.

Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y. (2016).
*
Deep learning
*
(Vol. 1). Cambridge: MIT Press.

Jordan, M. I., & Mitchell, T. M. (2015). Machine learning: Trends, perspectives, and prospects.
*
Science
*
,
*
349
*
(6245), 255-260.

Kocay, W., & Kreher, D. L. (2016).
*
Graphs, algorithms, and optimization
*
. chapman and hall/cRc.

Smed, J., & Hakonen, H. (2017).
*
Algorithms and networking for computer games
*
. John Wiley & Sons.