Ev Kişisel Finans Algoritmalarda kullanılan ikili Yığınlar ve İkili Arama Ağaçları - mankenler

Algoritmalarda kullanılan ikili Yığınlar ve İkili Arama Ağaçları - mankenler

Video: İkili Arama Ağaçları (Binary Search Tree) Veri Yapıları 10 2025

Video: İkili Arama Ağaçları (Binary Search Tree) Veri Yapıları 10 2025
Anonim

Özel bir ağaç yapısı, ikili öbek olup düğüm öğelerinin her birini özel bir sıraya yerleştirir. Arama ağaçları, verileri hızlıca aramanıza izin verir. Veri öğelerini edinmek, onları ağaçta sıralı bir sıraya yerleştirmek ve daha sonra bu ağacı aramak bilgi bulmanın en hızlı yollarından biridir.

Bir ikili yığında, kök düğüm her zaman en küçük değeri içerir. Dalları görüntülediğinizde üst düzey dalların her zaman alt düzey dal ve yapraklardan daha küçük bir değer olduğunu görürsünüz. Etki, ağacın dengeli tutulmasını ve öngörülebilir bir sırayla bulunmasını sağlar, böylece arama son derece verimli olur. Maliyet, ağacın dengeli tutulması içindir.

Uygulamaların yaptığı tüm görevler arasında arama yapmak, daha fazla zaman alıcı ve en çok ihtiyaç duyulan arama demektir. Verileri ekleme (ve daha sonra sıralama) biraz zaman gerektirse de, bir veri kümesinin oluşturulması ve sürdürülmesinin faydası, onu yararlı bir işi yapmak için kullanmanızdır; bu, önemli bilgileri aramak demektir. Sonuç olarak, bazen daha az verimli CRUD işlevselliği ve hatta daha az optimal sıralama yordamı ile uğraşabilirsiniz, ancak aramalar mümkün olduğunca verimli şekilde ilerlemelidir. Tek sorun, hiçbir arama mutlak verimlilikle her görevi yerine getirmediğinden, seçeneklerinizi arama rutinlerinin bir parçası olarak ne beklediğinize göre tartmanız gerekir.

İkili arama ağacı (BST) ve ikili yığın kullanımını içeren daha verimli iki arama yöntemi. Her iki arama tekniği, veri öğelerine erişmek için kullanılan anahtarları tutan ağaç benzeri bir yapıya dayanır. Bununla birlikte, iki yöntemin düzenlemesi farklıdır, bu nedenle bazılarının belirli görevleri yerine getirirken diğerine göre avantajları vardır. Bu şekil bir BST için düzenlemeyi gösterir.

BST kullanırken tuşların düzenlenmesi.

Tuşların, solda daha az sayı, sağda daha büyük sayıların bulunduğu bir sırayı nasıl izlediğinizi not edin. Kök düğüm, anahtar aralığının ortasında olan ve BST'ye anahtarları depolamak için kolayca anlaşılmış dengeli bir yaklaşım sağlayan bir değer içerir. Bu düzenlemeyi burada gösterilen ikili yığının aksine karşılaştırın.

İkili yığın kullanırken tuşların düzenlenmesi.

Her seviye bir önceki seviyeden daha düşük değerleri içerir ve kök ağaç için maksimum anahtar değerini içerir. Buna ek olarak, bu özel durumda, daha az değerler soldaki ve sağdaki daha büyük olarak görünür (bu düzen sıkı bir şekilde uygulanmaz). Şekilde aslında ikili maksimum yığın tasvir edilmiştir. Ayrıca, kökün en düşük anahtar değerini içerdiği ve her bir düzeyin yaprakların bir parçası olarak görünen en yüksek değerlerle daha yüksek değerlere inşa ettiği bir ikili min öbek yığıtı oluşturabilirsiniz.

Daha önce de belirtildiği gibi, BST, bir arama yapmak için kullanıldığında ikili öbek üzerinde bazı avantajlara sahiptir. Aşağıdaki liste, bu avantajların bazı önemli noktalarını sunmaktadır:

  • Bir öğe aramak, bir ikili öbek için O (n) zamanının aksine O (log n) zamanını gerektirir.
  • Sırayla öğeleri yazdırmak, bir ikili öbek için O (n log n) zamanının aksine yalnızca O (log n) zamanını gerektirir.
  • Yer ve tavan bulmak, O (log n) zamanını gerektirir.
  • Kth. En küçük / en büyük öğenin bulunması, ağaç doğru yapılandırıldığında O (log n) zamanını gerektirir.

Bu zamanların önemli olup olmadığı uygulamanıza bağlıdır. BST, arama yapmak için daha fazla vakit geçirdiğiniz durumlarda ve ağacın inşasına daha az zaman ayırdığınız durumlarda en iyi sonucu verir. Bir ikili yığın, anahtarların düzenli olarak değiştiği dinamik durumlarda en iyi çalışmaya eğilim gösterir. İkili yığın, aşağıdaki listede açıklandığı gibi avantajlar da sunar:

  • Gerekli yapıları oluşturmak, daha az kaynak gerektirir, çünkü ikili yığınlar dizilere güvenir ve onları önbellekle daha uyumlu hale getirir.
  • İkili yığın oluşturmak, O (n log n) zaman gerektiren BST ile karşılaştırıldığında O (n) zaman gerektirir.
  • Ağacı uygulamak için işaretçiler kullanmak gerekli değildir.
  • İkili yığın varyasyonlarına (örneğin, Fibonacci Yığını) güvenmek O (1) zamanın anahtar zamanlarını artırmak ve azaltmak gibi avantajlar sağlar.
Algoritmalarda kullanılan ikili Yığınlar ve İkili Arama Ağaçları - mankenler

Editörün Seçimi

Photoshop CS6'da Katmanları Maskeye Kalıp Ekleme - mankenler

Photoshop CS6'da Katmanları Maskeye Kalıp Ekleme - mankenler

Photoshop Creative Suite 6 kullanırken (alt tabaka olarak da bilinir) üst katmanları için bir maske görevi görür. Grubun katmanları taban katmanın opak alanlarına klipslenir ve taban katmanının şeffaf alanlarının üzerinde gösterilmez. Bu noktada ...

Photoshop CS6'da renklendirme nasıl yapılır - mankenler

Photoshop CS6'da renklendirme nasıl yapılır - mankenler

Photoshop Creative Suite 6, size renklerinizi pompalamak için birçok seçenek sunar. Ton / Doygunluk Kontrolleri ve Canlılık Ayarı ile görüntü. Bu, resmini istediğiniz kadar parlak yapmak için bazı eğlenceli seçenekler sunar. Ton / Doygunlukta Renk Boyutlandırma seçeneği nasıl kullanılır Renk / Doygunluk iletişim kutusundaki Renk Boyama seçeneğini kullanın ...

Photoshop CS6'da Çoklu Görüntülerle Bileşikleştirme - katmanlar

Photoshop CS6'da Çoklu Görüntülerle Bileşikleştirme - katmanlar

Genellikle katmanlarla çalışırken tek bir resim kullanmakla sınırlı değil. Adobe Photoshop Creative Suite 6'da, istediğiniz bitmiş ürünü oluşturmak için birden fazla resimle bileşikleştirebilirsiniz. Birkaç resimle çalışmayı bıraktığınızda, sayısız yeni yaratıcı olanaklar bulacaksınız. Ve sadece sade bir görüntüle sınırlı değilsiniz ...

Editörün Seçimi

ÖFkenizi Kontrol Altına Almak İçin Stres Taşıyıcılarından Nasıl Uzak durun - Bazıları mumlar olan

ÖFkenizi Kontrol Altına Almak İçin Stres Taşıyıcılarından Nasıl Uzak durun - Bazıları mumlar olan

Stres taşıyıcılarıdır ve bir duruma stres getirebilir ve öfkeye neden olabilir. Odaya girerken etrafındaki her şeyi bozan birisini tanıyor musun? O kişi gelmeden önce insanlar iyi bir havadaydı ve bu kişi bütün bunları değiştirdi. Kahkahalar durdu, ruh halleri değişti ve gerginlik ...

ÖFkeyi yönetmek için minnettarlığı nasıl kullanacaksınız - mankenler

ÖFkeyi yönetmek için minnettarlığı nasıl kullanacaksınız - mankenler

ÖFke sizin duygu ile ilgisi vardır İstediğiniz şeyleri almıyor (ya da hakkınız olduğunda). İşyerinde tanınmamak ya da hissedeceğiniz parayı vermiyorsunuzdur. Çocuklarınız size, ebeveyn olarak hakkına sahip olduğunuzu düşündüğünüz saygı göstermiyor. Köpeğiniz ne zaman gelmez ...

Editörün Seçimi

Arabellek Taşması Hacks'a Karşı Nasıl Korunacaksınız - mankenler

Arabellek Taşması Hacks'a Karşı Nasıl Korunacaksınız - mankenler

RPC ve diğer savunmasız cinetler arabellek taşması için ortak hedeflerdir kesmek. Arabellek taşması saldırıları genellikle bilgisayar korsanının sistem dosyalarını değiştirme, veritabanı dosyalarını okuma ve diğer yollarla nasıl geçebileceklerini görür. Arabellek taşması saldırıları Saldırgan, bir arabellek taşması saldırısında ya kurban Linux makinesine elle bilgi dizisi gönderir veya bir komut dosyası yazar ...

VMware Tools kurulumu - mankenler

VMware Tools kurulumu - mankenler

Bir VMware sanal makinesine bir işletim sistemi yüklediğinizde Başka bir şey yapmadan önce VMware Tools adı verilen önemli bir uygulamayı yükleyin. VMware Tools bir VMware sanal makinesi için çeşitli önemli işlevler sunar: Önemli ölçüde geliştirilmiş grafik performansı Paylaşılan klasörler, sanal makineleri ve arasında klasörler paylaşmanızı sağlar ...

Ahlaki Hack Planı İçin Hedeflerin Oluşması - test planınızın hedeflerine ihtiyacı olan mankenler

Ahlaki Hack Planı İçin Hedeflerin Oluşması - test planınızın hedeflerine ihtiyacı olan mankenler

. Etik hırsızlığının ana amacı, kötü adamlar açısından sisteminizdeki güvenlik açıklarını bulmaktır; böylece ortamınızı daha güvenli hale getirebilirsiniz. Daha sonra bunu bir adım daha ileri götürebilirsiniz: Daha spesifik hedefleri tanımlayın. Bu hedefleri işletme hedeflerinizle aynı hizaya getirin. Nesin ...