What is a search algorithm?
A search algorithm is a step-by-step procedure that aims to filter out specific data from a large amount of data and locate that data. This process is a classic procedure in EDP, i.e. electronic data processing. A distinction is generally made between simple and heuristic search procedures. The search algorithms use a search key to go through the steps of the procedure.
The result of the procedure is usually a success or error status, which is specified as a Boolean true / false. How efficient such a search algorithm is depends mainly on what data is used and in what way the data is used. The The most basic form of search algorithm is the linear search algorithm.. However, there are very different forms of search algorithms, which differ, for example, by the type and the Search efficiency distinguish.
What are types of search algorithms?
Simple search algorithm
One form of search algorithms are the simple search algorithms. These neglect the specific nature of the underlying problem and can therefore be implemented in a more abstract way. This means that they can be used for a wide range of problems. This is the advantage of simple search algorithms. A disadvantage is that the cost-benefit ratio is usually rather low and the search is costly and time-consuming.
One form of the simple search algorithms is the Search in lists. With this type of search algorithm, the aim of the search is to find a specific element in a list. The corresponding search key of this element must be known. This problem occurs very often in computer science, so this form of algorithm is very well studied.
Another possibility for a simple search is the so-called Search in treeswhich is also considered the supreme discipline of search algorithms. In this type of search, nodes of trees are searched, regardless of whether the tree to be examined is explicit or implicit.
Heuristic search algorithm
Besides the simple search algorithms, there are also the heuristic search algorithms. As Heuristics are strategies that can speed up the process of finding solutions to a particular problem. An example of such heuristics are rules of thumb, human problem-solving processes or orientation to examples and role models. Heuristic search algorithms are divided into uninformed, or blind search, and informed, i.e. the use of heuristics.
The development and subsequent implementation of new procedures and the application to the most diverse problem areas will also become the algorithmic core of the artificial intelligence counted. This includes, among other things, the control of Robots or also classic parlour games, i.e. zero-sum games with complete information, such as chess, Go or lady.
The heuristic search algorithms are mainly used when an algorithm is too complex and computationally intensive. Among other things, errors are also tolerated if the computing time is reduced and the search process is more efficient overall.
Other search methods
In addition to the simple and heuristic search algorithms, there are a number of other search methods that can be used to locate data. These include evolutionary algorithms, Search method for strings or for example the Adversarial Searchwhich is mainly used in the field of artificial intelligence. Most of the time, the efficiency and performance of the different search methods is very similar. Differences can mainly be seen when a procedure is applied to a special class of problems.