資料結構/費式搜尋比較次數問題 - 考試

Heather avatar
By Heather
at 2013-01-11T23:52

Table of Contents

※ 引述《pthread (QQ)》之銘言:
: 假設今天有如下數列
: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
: 如果用費式搜尋搜尋以下鍵值 2,10,15
: 各需要幾次比較次數呢~?
: 我的答案是
: 2:5次 15:4次 10:4次
: 因為跟書上的答案不一樣,算的不知道對不對
: 煩請各位版友指正

怎麼每個人答案不一
用程式跑出的結果跟我自己算的一樣


#include <iostream>
#define FibNum 20



using namespace std;

int fibsearch(int [],int [],int,int,int);

int main(){
int k;
int n=16;
int data[16]={1,2,9,16,20,21,52,59,92,97,100,120,122,130,140,145};
int F[FibNum];
F[0]=0;
F[1]=1;
for(int i=2;i<FibNum;i++){
F[i]=F[i-1]+F[i-2];
}

for(k=0;k<FibNum;k++){
if((n>F[k]-1)&&(n<=F[k+1]-1))
break;
}

k++;
cout<<k<<endl;
int input;
cout << endl << "請輸入欲搜尋之資料內容 => ";
cin >> input;

cout<<fibsearch(data,F,n,k,input)<<endl;





system("pause");
return 0;
}



int fibsearch(int a[],int fib[],int n,int k,int key){

int l=0,r=n-1,m;
int flag=0;
for(int i=n;i<fib[k]-1;i++)
a[i]=a[n-1];


while(l<=r){

flag++;
m=l+fib[k-1]-1;
if(a[m]==key){
if(m<n){
cout<<"呼叫次數:"<<flag<<endl;
return m;}
else
return n-1;

}

else if(a[m]>key){
r=m-1;
k=k-1;
}
else{
l=m+1;
k=k-2;
}

}

return -1;

}

--
Tags: 考試

All Comments

Emma avatar
By Emma
at 2013-01-14T17:05
n=16, n+1不屬於Fib裡面 所以建樹之後每個node要減掉4

成本會計-聯產品與副產品

Dinah avatar
By Dinah
at 2013-01-11T23:35
※ [本文轉錄自 Accounting 看板 #1FA-zgb- ] 作者: MJKOP (高雄) 看板: Accounting 標題: Fw: [課業] 成本會計-聯產品與副產品 時間: Fri Feb 3 22:30:01 2012 ※ [本文轉錄自 Examination 看板 #1F7__wNC ...

請問化工所可以考哪些相關單位

Daniel avatar
By Daniel
at 2013-01-11T23:01
本人目前就讀私立化工一年級,上學期讀完確定要休學。 已經決心要踏入公職一路,因為父母也是公職人員,想請問化工相關能考哪些單位呢? 第一次在此版發文 - ...

可以請教有考會計這科的戰友們

Rosalind avatar
By Rosalind
at 2013-01-11T22:57
※ 引述《macherie1983 (夏天又來了..)》之銘言: : 想請問一下大家… : 大家在會計這個科目…會花非常多時間準備嗎? : 我幾乎每天都會看會計…But效果真的很低… : 我想弄好會計呀~~ 一定要每天唸一點,久了你就會發現題目算多了,都長的差不多... 上了考場還要扣掉一些因緊張而 ...

可以請教有考會計這科的戰友們

Damian avatar
By Damian
at 2013-01-11T22:46
想請問一下大家… 大家在會計這個科目…會花非常多時間準備嗎? 我幾乎每天都會看會計…But效果真的很低… 我想弄好會計呀~~ - ...

100年稅特三等「會計學」

Kyle avatar
By Kyle
at 2013-01-11T22:23
※ 引述《anmt ()》之銘言: : 一、 : 甲公司於第6年初向銀行借款$2,000,000以備興建辦公大樓做為其企業總部,期間2年 : 年利率10%。在同一期間內,甲公司帳上另有二筆長期借款,一為$4,500,000, : 年利率6%,另一為$5,500,000,年利率8%。經分析若甲公司不興建辦公大樓 ...