Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanSera Dink Değiştirilmiş 9 yıl önce
1
Dengeli İkili Ağaç Kerem ERZURUMLU kerem@linux.org.tr http://www.penguen.net Hacettepe Üniversitesi Bilgisayar Bilimleri Mühendisliği
2
Soru İkili ağacı en hızlı şekilde “tam” dengelemek
3
Cevap En yaygın olarak kullanılan yöntem; –Dal derinlikleri temel alınarak dengeleme yapılır.
4
Örnek 7 1 2 3 4 5 6
5
7 13 2 4 5 6
6
7 1 3 4 2 5 6
7
7 1 3 4 5 2 6
8
7 1 35 4 2 6
9
7 1 35 4 6 2
10
7 1 3 5 6 4 2
11
7 135 6 4 2
12
7 13 5 6 4 2
13
6 1357 4 2
14
Önemli Yordamlar int getHeight(BTree *leaf) { int lh,rh; if (leaf==NULL) return 0; lh=getHeight(leaf->left); rh=getHeight(leaf->right); if (lh>rh) return (lh+1); else return (rh+1); }
15
Önemli Yordamlar int balanceLeaf(BTree *leaf) { int rh,lh; rh=getHeight(leaf->right); lh=getHeight(leaf->left); if(abs(rh-lh)>=2){ if (rh>lh) rotateLeft(leaf); else rotateRight(leaf); balanceLeaf(leaf->left); balanceLeaf(leaf->right); } return 1; }
16
Önemli Yordamlar int balanceTree(BTree *root) { int rh,lh; if(root==NULL) return 0; balanceLeaf(leaf->right); balanceLeaf(leaf->left); return 1; }
17
Performans Test Ortamı –AMD 1000 –256Mb RAM –Takas bellek kapalı
18
Performans Her sayi için test 100 kere tekrarlandı ve sonuçların ortalaması alındı. Test süreleri en kötü ağaçtan en iyi ağacı oluşturma zamanı
19
Performans Rastgele 100 tamsayı –200x10e-6 saniye Rastgele 1.000 tamsayı –5000x10e-6 saniye Rastgele 10.000 tamsayı –1.1 saniye
20
Dengeli İkili Ağaç Seminer Sonu Katılımcılılarımıza teşekkür ederiz Kerem ERZURUMLU kerem@linux.org.tr http://www.penguen.net
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.