Global Information Lookup Global Information

Fibonacci search technique information


In computer science, the Fibonacci search technique is a method of searching a sorted array using a divide and conquer algorithm that narrows down possible locations with the aid of Fibonacci numbers.[1] Compared to binary search where the sorted array is divided into two equal-sized parts, one of which is examined further, Fibonacci search divides the array into two parts that have sizes that are consecutive Fibonacci numbers. On average, this leads to about 4% more comparisons to be executed,[2] but it has the advantage that one only needs addition and subtraction to calculate the indices of the accessed array elements, while classical binary search needs bit-shift (see Bitwise operation), division or multiplication,[1] operations that were less common at the time Fibonacci search was first published. Fibonacci search has an average- and worst-case complexity of O(log n) (see Big O notation).

The Fibonacci sequence has the property that a number is the sum of its two predecessors. Therefore the sequence can be computed by repeated addition. The ratio of two consecutive numbers approaches the Golden ratio, 1.618... Binary search works by dividing the seek area in equal parts (1:1). Fibonacci search can divide it into parts approaching 1:1.618 while using the simpler operations.

If the elements being searched have non-uniform access memory storage (i. e., the time needed to access a storage location varies depending on the location accessed), the Fibonacci search may have the advantage over binary search in slightly reducing the average time needed to access a storage location. If the machine executing the search has a direct mapped CPU cache, binary search may lead to more cache misses because the elements that are accessed often tend to gather in only a few cache lines; this is mitigated by splitting the array in parts that do not tend to be powers of two. If the data is stored on a magnetic tape where seek time depends on the current head position, a tradeoff between longer seek time and more comparisons may lead to a search algorithm that is skewed similarly to Fibonacci search.

Fibonacci search is derived from Golden section search, an algorithm by Jack Kiefer (1953) to search for the maximum or minimum of a unimodal function in an interval.[3]

  1. ^ a b Ferguson, David E. (1960). "Fibonaccian searching". Communications of the ACM. 3 (12): 648. doi:10.1145/367487.367496. S2CID 7982182. Note that the running time analysis is this article is flawed, as pointed out by Overholt in 1972 (published 1973).
  2. ^ Overholt, K. J. (1973). "Efficiency of the Fibonacci search method". BIT Numerical Mathematics. 13 (1): 92–96. doi:10.1007/BF01933527. S2CID 120681132.
  3. ^ Kiefer, J. (1953). "Sequential minimax search for a maximum". Proceedings of the American Mathematical Society. 4 (3): 502–506. doi:10.1090/S0002-9939-1953-0055639-3.

and 23 Related for: Fibonacci search technique information

Request time (Page generated in 0.8328 seconds.)

Fibonacci search technique

Last Update:

In computer science, the Fibonacci search technique is a method of searching a sorted array using a divide and conquer algorithm that narrows down possible...

Word Count : 903

Fibonacci sequence

Last Update:

the Fibonacci Quarterly. Applications of Fibonacci numbers include computer algorithms such as the Fibonacci search technique and the Fibonacci heap...

Word Count : 12915

Fibonacci

Last Update:

after Fibonacci because of a connection to the Fibonacci numbers. Examples include the Brahmagupta–Fibonacci identity, the Fibonacci search technique, and...

Word Count : 2244

List of things named after Fibonacci

Last Update:

quasicrystal Fibonacci retracement Fibonacci search technique Fibonacci triangle Fibonacci–Sylvester expansion Fibonacci word Lagged Fibonacci generator...

Word Count : 94

List of algorithms

Last Update:

vice versa Sorted lists Binary search algorithm: locates an item in a sorted sequence Fibonacci search technique: search a sorted sequence using a divide...

Word Count : 7800

Fibonacci heap

Last Update:

In computer science, a Fibonacci heap is a data structure for priority queue operations, consisting of a collection of heap-ordered trees. It has a better...

Word Count : 3538

Lucas pseudoprime

Last Update:

Lucas pseudoprimes and Fibonacci pseudoprimes are composite integers that pass certain tests which all primes and very few composite numbers pass: in...

Word Count : 3643

Priority queue

Last Update:

pairing heaps or Fibonacci heaps can provide better bounds for some operations. Alternatively, when a self-balancing binary search tree is used, insertion...

Word Count : 4657

Strict Fibonacci heap

Last Update:

strict Fibonacci heap is a priority queue data structure with low worst case time bounds. It matches the amortized time bounds of the Fibonacci heap in...

Word Count : 5824

Hash function

Last Update:

unsigned hash(unsigned K) { K ^= K >> (w-m); return (a*K) >> (w-m); } Fibonacci hashing is a form of multiplicative hashing in which the multiplier is...

Word Count : 7867

Regula falsi

Last Update:

all three being mathematicians of Moroccan origin. Leonardo of Pisa (Fibonacci) devoted Chapter 13 of his book Liber Abaci (AD 1202) to explaining and...

Word Count : 5176

Binary heap

Last Update:

1137/100785351. Fredman, Michael Lawrence; Tarjan, Robert E. (July 1987). "Fibonacci heaps and their uses in improved network optimization algorithms" (PDF)...

Word Count : 4885

Recursion

Last Update:

parent (base case), or One's parent's ancestor (recursive step). The Fibonacci sequence is another classic example of recursion: Fib(0) = 0 as base case...

Word Count : 3645

Dynamic programming

Last Update:

sub-problems. For example, consider the recursive formulation for generating the Fibonacci sequence: Fi = Fi−1 + Fi−2, with base case F1 = F2 = 1. Then F43 = F42 + F41...

Word Count : 9215

List of graph theory topics

Last Update:

partitioning Full binary tree B*-tree Heap Binary heap Binomial heap Fibonacci heap 2-3 heap Kd-tree Cover tree Decision tree Empty tree Evolutionary...

Word Count : 664

Pattern matching

Last Update:

(i.e., search and replace). Sequence patterns (e.g., a text string) are often described using regular expressions and matched using techniques such as...

Word Count : 2482

Shortest path problem

Last Update:

Corporation. P-923. Fredman, Michael Lawrence; Tarjan, Robert E. (1984). Fibonacci heaps and their uses in improved network optimization algorithms. 25th...

Word Count : 4116

Mersenne prime

Last Update:

periods such as the Mersenne twister, generalized shift register and Lagged Fibonacci generators. Mersenne primes Mp are closely connected to perfect numbers...

Word Count : 6317

Comparison of data structures

Last Update:

1137/100785351. Fredman, Michael Lawrence; Tarjan, Robert E. (July 1987). "Fibonacci heaps and their uses in improved network optimization algorithms" (PDF)...

Word Count : 1149

Roulette

Last Update:

this strategy. Another strategy is the Fibonacci system, where bets are calculated according to the Fibonacci sequence. Regardless of the specific progression...

Word Count : 7082

Skew binomial heap

Last Update:

1137/100785351. Fredman, Michael Lawrence; Tarjan, Robert E. (July 1987). "Fibonacci heaps and their uses in improved network optimization algorithms" (PDF)...

Word Count : 2175

Dynamization

Last Update:

this article but any other base (as well as other possibilities such as Fibonacci numbers) can also be utilized. If using the binary system, a set of n...

Word Count : 578

Outline of combinatorics

Last Update:

Electronic Journal of Combinatorics European Journal of Combinatorics The Fibonacci Quarterly Finite Fields and Their Applications Geombinatorics Graphs and...

Word Count : 683

PDF Search Engine © AllGlobal.net