Thursday, May 30, 2013

Contoh program Fibonacci search (Struktur Data)

Good Luck..

#include <stdio.h>
#include <conio.h>
#include<iostream.h>
int main()
{
int i,j,F0,F1,Fibo,n,m,N,Flag,x;
int FK, FK1, FK2, FK3,s,p,q,t;
int A[16] = {0, 5, 7, 12, 15, 17, 19, 22, 25, 27, 32, 35, 37, 40, 45, 53};


int FIBO[8];
for(x=0; x<16; x++)
cout<<A[x]<<" ";

n = 15;
F0 = 1; F1 = 1; Fibo = 1;
j =1;

while (Fibo<= n+1)
{
FIBO[j] = Fibo;
Fibo = F0+F1; F0=F1; F1=Fibo;
j++;
}

s = j - 1;

FK = FIBO[s];
FK1 = FIBO[s-1]; i = FK1;
FK2 = FIBO[s-2]; p = FK2;
FK3 = FIBO[s-3]; q = FK3;

m = (n+1) - FK;
printf("\nMasukan data yang ingin anda cari : ");
scanf("%d", &N);

if(N > A[i]) i = i+m;

Flag = 0;
while(i != 0 && Flag ==0)
{
if(N == A[i]) Flag = 1;
else
if(N < A[i])
{
if(q == 0) i = 0;
else
{
i = i - q;
t = p;
p = q;
q = t - q;
}
}
else
{
if(p == 1)
i = 0;
else
{
i = i + q;
p = p - q;
q = q - p;
}
}
}
if(Flag == 1)
printf("\nData di temukan");
else
printf("\nData tidak di temukan");
}

No comments:

Post a Comment

Link