Public Class Form1
Dim s As New Stopwatch
Dim rd As New Random
Function nearestfibo(ByVal n)
Dim a As Integer = 0
Dim b As Integer = 0
Dim c As Integer = 0
a = 0
b = 1
Do While a + b <= n
c = a + b
a = b
b = c
Loop
nearestfibo = c
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim arr(CLng(TextBox1.Text)) As Long
Dim lgth As Long = CLng(TextBox1.Text)
Dim temp As Long
Dim min As Integer = 0
Dim t As Long
Dim x As Long = CLng(TextBox2.Text)
Dim fs As Long = 0
Dim low As Integer = 0
Dim high As Integer = 0
Dim mid As Integer = 0
For i As Long = 1 To lgth
arr(i) = rd.Next(100, lgth)
Next
For i As Integer = 1 To lgth - 1
min = i
For j As Long = i + 1 To lgth
If arr(j) < arr(min) Then
min = j
End If
Next
If min <> i Then
temp = arr(i)
arr(i) = arr(min)
arr(min) = temp
End If
Next
For i As Long = 1 To lgth
ListBox1.Items.Add(arr(i))
Next
s.Start()
fs = -1
low = 1
high = lgth
Do While low <= high And fs = -1
mid = low + nearestfibo(high - low + 1) - 1
If x = arr(mid) Then
fs = mid
ElseIf x < arr(mid) Then
high = mid - 1
Else
low = mid + 1
End If
Loop
If fs = -1 Then
ListBox2.Items.Add("Data Tidak Ditemukan")
Else
ListBox2.Items.Add("Data Ditemukan Pada Index ke - " & fs)
End If
s.Stop()
t = s.ElapsedMilliseconds
Label6.Text = t & " ms"
End Sub
End Class
4 komentar:
thx berguna bgt gan
post ini memudahkan kita untuk mengethaui bilangan fibo
ternyata bilangan fibo bisa digunakan untuk metode search
hebat gan
I liked fibonacci masbro...
Posting Komentar