ow cara searchnya ada di postingan lama sih ... saya post lagi dibawah, maaf 
kalo tulisannya acak2an ........


Re: [JUG-Indonesia] Kode menarik 

 
sory double posting keteken send waktu gambar2 BStnya

preprocess bikin:
- binary search tree (left selalu lebih kecil dari parent, kanan selalu lebih 
gede dari parent)
tapi yang disimpan dalam binary tree adalah indexnya bkan valuenya

untuk array ini: [2,4,1,3]
BST value-nya:
              
2 
           
/      \
        1      
    4
                 
/
              
   3
BST indexnya:
              0
           
/     \
         
2        1
                 
 /
               
 3
tuk bikin BST dari array yang sudah ada kira2: O(n)



searchnya pake algo kira2 begini:
- search on left, 
kalo belum ktemu search on right
kalo
udah ktemu terus search on left (cari terus ke node left  paling dalam
yang bisa ditemukan note: node right engga usah disearch)

jadi tuk search:

queryMin( 0, 3 ) = 
- ktemu 0, keep on searching left
- ktemu 2 keep on searching left which is null 
so hasilnya = 2


queryMin( 1, 1 ) = 
- 0, belum ktemu cari kiri
- 2 belum ktemu kiri, kanan ga ada
- recursif back to 0, kanannya 1
- 1 ktemu, cari kiri null
hasil = 1


queryMin( 1, 2 ) = 1 
- 0 belum ktemu, cari kiri
- 2 ktemu cari kiri, null
hasil=2


queryMin( 0, 1 ) = 2 
- 0 ktemu, keep kiri
- kiri = 2, tidak ada di index balek ke parent
hasil = 0


queryMin( 3, 3 ) = 
- 0 belum ktemu cari kiri
- kiri =2 tidak ada di index balek parent search kanan
- 1 belum ktemu cari kiri = null
- cari kanan, ktemu =3, keep kiri = null
- hasil = 3


searchnya kira2 = O(log n)

masalah search kanan aja mungkin maksudnya kiri saja, tree bagian kanan stelah 
ktemu bisa diabaikan .... karena pada dasarnya untuk mencari bilangan terkecil, 
bagian kiri selalu lebih kecil dari parent sedangkan bagian kanan selalu lebih 
besar dari parent, jadi kalo sudah dapat parentnya engga perlu lagi untuk 
mencari disbelah kanan karena sudah pasti lebih besar.....

tentang log n, ini maksudnya waktu untuk mencari sebuah node dalam BST kira2 
sebanding dengan height/tinggi dari tree tersebut. tinggi sebuah BST yang 
balance kira2 adalah log n. 


regards,
yohan
--- On Mon, 6/9/08, Frans Thamura <[EMAIL PROTECTED]> wrote:
From: Frans Thamura <[EMAIL PROTECTED]>
Subject: Re: [JUG-Indonesia] Kode menarik
To: jug-indonesia@yahoogroups.com
Date: Monday, June 9, 2008, 6:57 AM










    
            

2008/6/9 viking leon <[EMAIL PROTECTED] com>:












mungkin agak kebalik bukan arraynya merepresentasikan tree tetapi arraynya 
direpresentasikan dalam tree. Tapi yang disimpan oleh treenya hanya index dari 
array tersebut (value sesungguhnya tetap di array) ..... setelah index dari 
bilangan terkecil ditemukan dengan melakukan search pada tree, selanjutnya 
indexnya perlu di lookup ke arraynya untuk mengetahui bilangan sesungguhnya.


array dirubah jadi tree, emang harus adaindex, saya sih pake satu dimensi 
iparent untuk melakukannya

tapi gimana searchnya

diatas dijelaskan log untuk search bisa kanan saja


ini gimana yah 


      

    
    
        
         
        
        








        


        
        


      

Kirim email ke