SORU
31 Aralık 2010, Cuma


Neden Fibonacci sayıları bilgisayar bilimleri önemli?

Fibonacci numbers Bilgisayar Bilimi öğrencileri için özyineleme için popüler bir giriş haline geldi ve doğa içinde devrede güçlü bir argüman var. Bu nedenlerden dolayı, bize çok aşina.

Onlar da Bilgisayar Bilimi içerisinde başka yerlerde de var; şaşırtıcı derecede etkili veri yapıları ve algoritmalar dizisi dayalı.

Akla gelen iki ana örnek vardır:

  • İyi olan Fibonacci heaps binom daha zaman çalışan itfa yığınları.
  • Fibonacci search hangi hisse O(log N) ikili ile çalışan sıralı bir dizi üzerinde arama.

Onları diğer sayı dizileri üzerinde bir avantaj veren bu sayıların özel bir özelliği var mı? Kayma kalitesi mi? Diğer olası uygulamalar ne olabilir?

Diğer yinelenen sorunları oluşan doğal sayı çok dizileri var gibi bana çok garip geldi, ama asla Catalan bir yığın gördüm.

CEVAP
31 Aralık 2010, Cuma


Fibonacci sayıları onları bilgisayar bilimi mükemmel yapmak gerçekten güzel matematiksel özellikleri her türlü var. İşte birkaçı:

  1. Katlanarak hızlı büyüyorlar.Hangi Fibonacci serisi geliyor ilginç bir veri yapısı AVL'NİN, ağaç, kendini dengeleme ikili ağaç şeklidir. Bu ağacın arkasındaki sezgi her düğüm sol ve sağ alt ağaç Yükseklikleri en fazla bir farklı bir denge unsuru tutar. Çünkü bu, aklıma gelen en az sayıda düğüm gerekli almak bir CEMİYET ağacın yüksekliği h ise tanımlanmış başka bir hastalık mı benziyor ne N(h 2) ~= N(h) N(h 1), olan bir çok şey gibi Fibonacci serisi. Eğer matematik çalışma yüksekliği h düğümleri CAK bir ağaç almak için gerekli sayısını F(y 2) - 1 olduğunu göstermektedir. Çünkü Fibonacci serisi büyüyor katlanarak hızlı, yüksekliği bir CEMİYET ağaçtır en logaritmik sayısının düğümleri, veren O(lg n) arama zaman bildiğimiz ve sevdiğimiz hakkında dengeli ikili ağaçlar. Eğer Fibonacci sayısı ile bazı yapı büyüklüğüne bağlı, eğer aslında, bazı işlem(lg n) çalışma zamanı almak olasıdır. Bu gerçek sebebi, Fibonacci yığınları denir Fibonacci yığınları - kanıt sayı yığınları sonra sıradan çıkarma min içerir sınırlayıcı sayıda düğümleri alabilirsin belirli bir derinliği olan bir Fibonacci sayısıdır.
  2. Herhangi bir sayı benzersiz Fibonacci sayılarının toplamı olarak yazılabilir.Fibonacci sayılarını bu özellik Fibonacci arama tüm çalışan almak için çok önemlidir; eğer herhangi bir olası dizi benzersiz Fibonacci sayıları toplayın edemedin varsa, bu arama işe yaramaz. 3 gibi diğer serisi, bir sürü ile bu kontrastnya da Katalan numaraları. Bu algoritmalar çok iki güçler gibi nedeni de kısmen, sanırım.
  3. Fibonacci sayıları etkili bir şekilde hesaplanabilir.Aslında bu dizi olabilir üretilen son derece verimli (sen-ebilmek almak ilk n açısından O(n) ya da herhangi bir keyfi vadede O(lg n)), o zaman bir sürü algoritmaları kullanan onlar değil pratik. Katalan sayılar üreten hesaplama açısından zor, IIRC güzel. Üstüne bu, Fibonacci sayıları var güzel bir özellik, verilen herhangi iki ardışık Fibonacci sayıları, diyelim ki F(k) ve F(k 1), kolayca hesaplamak için bir önceki veya sonraki Fibonacci sayısını ekleyerek iki değerleri (F(k) F(k 1) = F(k 2)) veya çıkarma (F(k 1) - F(k) = F(k - 1)). Bu özellik ile birlikte (2) Çeşitli algoritmalar kullanılmalıdır,,, Fibonacci sayıları toplamı sayıları içine parçalayın. Örneğin, Fibonacci arama benzer bir algoritma hızlı ve verimli logaritma hesaplamak için kullanılabilir olsa da, bu bellek değerleri bulmak için kullanır.
  4. Pedagojik olarak yararlı olurlar.Öğretim özyineleme zor, ve Fibonacci serisi tanıtmak için harika bir yoldur. Seriyi tanıtırken dinamik programlama hakkında memoization hakkında, ya da düz özyineleme hakkında konuşabilirsiniz. Ayrıca, şaşırtıcı closed-form for the Fibonacci numbers genellikle öğretilen bir egzersiz indüksiyon veya analizinde seriler ve ilgili matrix equation for Fibonacci numbers yaygın olarak kullanılmaya başlandı Lineer Cebir gibi bir motivasyon arkasında öz ve öz değerler. Bu giriş dersleri yüksek profilli bu nedenlerden biri olduğunu düşünüyorum.

Sadece bu daha fazla nedeni vardır eminim, ama bu nedenlerden bazıları ana faktör vardır eminim. Bu yardımcı olur umarım!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Eric Anthony

    Eric Anthony

    13 AĞUSTOS 2011
  • GoogleTechTalks

    GoogleTechTa

    15 AĞUSTOS 2007
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007