SRTUKTUR DATA - SEARCHING Python


Searching – Struktur data

Searching
Searching merupakan suatu program yang untuk proses pencarian data dari keseluruhan data yang ada.

Linier Search
Linier Search atau Sequential Search  merupakan metode untuk menemukan suatu data / value yang kita cari yang terdapat di dalam list. Pencarian datanya pun secara berurutan memriksa setiap elemen dari list untuk data yang kita cari sampai elemen datanya selesai di cari.



Binary Search
inary Search juga bisa disebut dengan pencarian setengah interval, pencarian secara logaritma, pencarian secara biner yang merupakan algoritma pencarian untuk menemukan posisi data yang kita cari dalam array / list yang secara terurut. Proses pencarian binary search hanya dapat dilakukan pada sekumpulan data yang sudah diurutkan terlebih dahulu.
-            posisi awal (first) =  20 dan posisi akhir (last) = 68
-            osisi tengah (middle): 
           middle = (first + last)/2
         



def binarySearch(alist, item):
    first = 0
    last = len(alist)-1
    found = False
    iterasi = 0
   
    while first<=last and not found:
        midpoint = (first + last)//2
        if alist[midpoint] == item:
            found = True
        else:
            if item < alist[midpoint]:
                last = midpoint-1
            else:
                first = midpoint+1
        iterasi+=1
               
    return iterasi


def linierSearch(mylist, search) :
    position = len(mylist)-1
    found = False
    iterasi = 0

    while position >= 0 and not found:
        iterasi+=1
        if mylist[position]==search:
            found = True
        else:
            position = position - 1

    if found:
        print("Data ditemukan ")
        print(iterasi)
    else:
        print("data tidak ditemukan")
        print(iterasi)

#main
testlist = [0, 1, 2, 8, 13, 17, 19, 32, 42]
print("Linear Search : ")
print("Jumlah iterasi: ")
linierSearch(testlist, 13)
print("Binary Search : ")
print("Jumlah iterasi: ")
print(binarySearch(testlist, 13))



Komentar

Postingan populer dari blog ini

STRUKTUR DATA - INFIX, PREFIX, POSTFIX EXPRESSIONS Python

STRUKTUR DATA Sorting - Merged Sort, Shell Sort Python