Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Searching Struktur Data
2
Linier Search Searching Mencari dari data pertama sampai data terakhir
Pencarian selesai jika ketemu atau sudah habis
3
Liniear Search Searching 7 9 3 2 6 5 1 2 3 4 5
Angka yang dicari : Angka yang ke 1 = 7 ? Tidak If Angka[1] = ygDicari then
4
Liniear Search Searching 7 9 3 2 6 5 1 2 3 4 5
Angka yang dicari : Angka yang ke 2 = 7 ? Tidak If Angka[2] = ygDicari then
5
Liniear Search Searching 7 9 3 2 6 5 1 2 3 4 5
Angka yang dicari : Angka yang ke 3 = 7 ? Tidak If Angka[3] = ygDicari then
6
Liniear Search Searching 7 9 3 2 6 5 1 2 3 4 5
Angka yang dicari : Angka yang ke 4 = 7 ? Tidak If Angka[4] = ygDicari then
7
Liniear Search Searching 7 9 3 2 6 5 1 2 3 4 5
Angka yang dicari : Angka yang ke 5 = 7 ? Tidak If Angka[5] = ygDicari then
8
KETEMU? Mana angka 7 ? Setelah dicari sampai habis ternyata tidak ada
9
Kesimpulan Ada 5 perintah IF If Angka[1] = ygDicari then
10
Disederhanakan Berapa lama pencarian dilakukan
For i := 1 to 5 do begin If Angka[i] = ygDicari then Ketemu = True end Berapa lama pencarian dilakukan Manusia ingin yang tercepat
11
Binary Search Searching
Data angka harus urut (kecil kebesar, atau sebaliknya) Data dibandingkan dengan data yang ditengah ( Angka[NT] ) NT = (BB + BA) / 2 Pencarian selesai jika ketemu atau BA < BB
12
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= 1 = 5 BA NT = (BB + BA) / 2 = ( ) / 2 = 3
13
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= 1 = 5 BA Angka yang ke 3 = 7 ? Tidak Jika Angka yang dicari > Angka ke 3 maka BB = NT + 1 Sebaliknya BA = NT - 1 NT = (BB + BA) / 2 = ( ) / 2 = 3
14
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= 1 = 5 BA Angka yang ke 3 = 7 ? Tidak Jika Angka yang dicari > Angka ke 3 maka BB = NT + 1 Sebaliknya BA = NT - 1 NT = (BB + BA) / 2 = ( ) / 2 = 3
15
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= 4 = 5 BA NT = (BB + BA) / 2 = ( ) / 2 = 4.5 = 5
16
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= 4 = 5 BA Angka yang ke 5 = 7 ? NT = (BB + BA) / 2 = ( ) / 2 = 4.5 = 5
17
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= 4 = 5 BA Angka yang ke 5 = 7 ? Tidak Jika Angka yang dicari > Angka ke 5 maka BB = NT + 1 Sebaliknya BA = NT - 1 NT = (BB + BA) / 2 = ( ) / 2 = 4.5 = 5
18
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= 4 = 5 BA Angka yang ke 5 = 7 ? Tidak Jika Angka yang dicari > Angka ke 5 maka BB = NT + 1 Sebaliknya BA = NT - 1 NT = (BB + BA) / 2 = ( ) / 2 = 4.5 = 5
19
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= 4 BA NT = (BB + BA) / 2 = ( ) / 2 = 4
20
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= 4 BA Angka yang ke 4 = 7 ? Tidak Jika Angka yang dicari > Angka ke 4 maka BB = NT + 1 Sebaliknya BA = NT - 1 NT = (BB + BA) / 2 = ( ) / 2 = 4
21
Binary Search Searching 7 2 3 5 6 9 1 2 3 4 5 Angka yang dicari : BB
= NT + 1 = 5 BA = 4 BA Angka yang ke 4 = 7 ? Tidak Karena BA < BB maka pencarian selesai Dengan hasil tidak ditemukan Jika Angka yang dicari > Angka ke 4 maka BB = NT + 1 Sebaliknya BA = NT - 1 NT = (BB + BA) / 2 = ( ) / 2 = 4
22
Selengkapnya While (BB <= BA) and NOT Ketemu do NT = (BB + BA) / 2
if ygDicari = Angka[NT] then Ketemu = True else if ygDicari > Angka[NT] then BB = NT + 1 BA = NT – 1 wend
23
Kesimpulan Lebih cepat ½ kali lipat
Tapi data harus diurutkan terlebih dahulu
24
Latihan Datanya 129, 184, 80, 106, 822, 885 Diurutkan :
80, 106, 129, 184, 822, 885 Yang dicari 100
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.