斐波那契查找(数据结构)
来源:互联网 发布:程序员考证有用吗 编辑:程序博客网 时间:2024/06/06 03:33
殷人昆《数据结构》第二版的7.25题
#include <iostream>#include <cstdlib>#include <ctime>using namespace std;#define MOD 50#define SIZE 13int fib_search(int x, int n, int fib[], int ar[]){ int k = 2, l = 1, r = n, mid, offset = 0; while (fib[k] - 1 < n) k++; while (l <= r) { mid = offset + fib[k - 1]; if (ar[mid] == x) return mid; else if (ar[mid] > x) k--; else { k -= 2; offset = mid; } r = fib[k] - 1; } return -1;}int main(){ int fib[SIZE] = { 0, 1 }, ar[13], i, x; srand(time(0)); cout << "程序已随机生成n = 12的顺序表。" << endl; //cout << "fib: " << fib[0] << " " << fib[1] << " "; for (i = 2; i < SIZE; i++) { fib[i] = fib[i - 1] + fib[i - 2]; //cout << fib[i] << " "; } //cout << endl; cout << "ar : "; for (ar[0] = 0, i = 1; i < SIZE; i++) { ar[i] = ar[i - 1] + rand() % MOD; cout << ar[i] << " "; } while (true) { cout << "\n请输入被查找数(-1退出):" << endl; cin >> x; if (x == -1) break; cout << fib_search(x, SIZE - 1, fib, ar) << endl; } return 0;}
- 斐波那契查找(数据结构)
- 数据结构 斐波那契查找
- 数据结构与算法-查找-斐波那契查找
- 数据结构 插值查找 斐波那契查找
- 数据结构之查找——折半查找、插值查找、斐波那契查找
- 数据结构与算法—斐波那契查找
- 数据结构与算法—斐波那契查找2
- 数据结构:斐波那契查找原理解析
- 数据结构之---C语言实现斐波那契查找
- 数据结构与算法13:折半查找、差值查找和斐波那契查找
- 数据结构学习6——有序表查找(折半查找与斐波那契查找)
- 看数据结构写代码(53) 静态查找表(线性查找,二分查找,斐波那契查找,插值查找)
- 【数据结构与算法】【查找】斐波那契查找的代码实现
- 静态查找(顺序查找,折半查找,插值查找,斐波那契查找)
- 考研路_数据结构_查找2_插值查找和斐波那契查找
- (1.3.2.2)查找:斐波那契查找
- 查找-斐波那契查找
- 算法--查找--斐波那契查找
- 手动操作Android数据库
- win7 32位系统搭建iphone开发环境
- Red Hat5上OpenLDAP的安装
- ABAP OO(三)
- asp.net生命周期
- 斐波那契查找(数据结构)
- sqlite3命令详解(上)
- sqlite3命令详解(中)
- js 图片预加载
- http://projecteuler.net/problem=38 [Answer:932718654]
- struts2 GET方法提交乱码,地址栏输入中文地址乱码解决
- sqlite3命令详解(下)
- Android电源管理简介(上)
- Android电源管理简介(下)