Theoretically speaking, I am not aware of any such algorithm. A linear search or Full Table Scan is performed when the rdbms doesn't find an index. This is what MySQL documentation says
Without an index, MySQL must begin with the first row and then read through the entire table to find the relevant rows. The larger the table, the more this costs.
However, there are steps taken to try optimizing this issue. MySQL uses InnoDB storage engine by default, which requires a table to have a primary key. If you don't specify one, it will automatically create one for you as a part of extended index(indexes managed by MySQL).
Another scenario arises when a query uses ORDER BY. When an index is available and can satisfy the order, it is used. In other cases, MySQL performs a filesort, which is a version of quicksort, as an extra step to satisfy the order by clause.
I have taken MySQL for reference but it should be similar in case of other databases.