Özyineleme ve İterasyon Arasındaki Fark

Temel Fark: Programlamada özyineleme özyinelemeli bir fonksiyon göz önünde bulundurularak açıklanabilir. Özyinelemeli bir işlev kodu tekrarlamak için kendini tekrar çağıran işlevdir. Öte yandan, yineleme, kodun bir bölümünü tekrarlamak için döngü yapan yinelemeli bir işlevle gerçekleştirilir.

Programlamada, özyineleme ve yineleme, tekrarları elde etmek için kullanılır. Sayısız defa tekrarlanan bir işleme atıfta bulunurlar. Özyineleme, bir koşul yerine getirilinceye kadar bir şeylerin kendisine başvurduğu bir yaklaşıma dayanır. Bir yöntemin kendisini doğrudan ya da dolaylı gibi çağırabilirse özyinelemeli olduğu söylenir -

geçersiz ad ()

{

... name () ...

}

veya

geçersiz ad ()

{

... oyun () ...

}

geçersiz oyun () {

... name () ...

}

Başarılı bir özyineleme için, özyineleme sürecinde yapılan her çağrının hesaplamayı basitleştirmesi gerektiği akılda tutulmalıdır. Temel durum tanımlanarak özyineleme elde edilir.

int faktorial (int N)

{

eğer (N == 0) 1;

aksi halde geri dönüş (N * faktörü (N-1));

}

Bu örnekte özyineleme, faktör işlevini yeniden çağırdığı ifadede (N * faktörü (N-1)) kolayca görülebilir. Özyineleme, kodun kısaltılmasına yardımcı olduğundan çok faydalıdır. Ancak, özyineleme performansında biraz yavaş.

Yineleme döngülere dayanır. Bu döngüler açık yineleme işlemlerine atıfta bulunur. Bir döngünün gereksinimini karşılamak için, daha fazla yinelemeyi durduran bir tür kritere sahip olması gerekir. Bununla birlikte, döngü koşulu testi hiçbir zaman yanlış olmazsa, o durumda bu sonsuz bir döngü oluşumu kaçınılmazdır. Bu örnekte, yineleme işlemi kullanılarak faktöriyel belirlenir -

fonksiyon faktörü (n)

{

var döngü, sonuç;

sonuç = 1;

için (döngü = 1; döngü <= N ilmek ++)

{

sonuç = sonuç * döngü;

}

sonuç döndürmek;

}

Bu örnekte, döngü 1'den n'ye tamsayılar kullanılarak elde edilir ve döngü <= n ifadesi daha fazla döngülemeyi durdurmak için bir kriter olarak kullanılır. Böylece, aynı sonuçları bir özyineleme ve yineleme kullanarak elde edilebileceği sonucuna varabiliriz. Ancak, ikisi de biraz farklı yaklaşımlara dayanıyor. Herhangi bir özyinelemeli algoritma yinelemeler (döngüler) kullanılarak da yazılabilir.

Özyineleme ve İterasyon Arasında Karşılaştırma:

özyineleme

tekrarlama

Tanım

Özyineleme, kodu tekrarlamak için kendisini tekrar çağırdığı özyinelemeli bir işlevi ifade eder.

Yineleme, kodun bir bölümünü tekrarlamak için döngü yapan yinelemeli bir işlevle gerçekleştirilir.

Önemli nokta

Temel bir durumun belirlenmesi gerekiyor

Bir sonlandırma koşulunun belirlenmesi gerekir

performans

Nispeten yavaş

Nispeten hızlı

Hafıza kullanımı

Nispeten daha fazla

Nispeten daha az

kod

daha küçük

Uzun

Sonsuz tekrarlama

Sonsuz özyineleme sistemi çökertebilir

Sonsuz döngü, art arda CPU çevrimlerini tüketir

yapı

seçim

Tekrarlama

Yerel değişkenler

Gerekli değil

gereklidir

Tavsiye

İlgili Makaleler

  • arasındaki fark: RAW ve JPEG arasındaki fark

    RAW ve JPEG arasındaki fark

    Anahtar Farkı: RAW, kameranın çektiği ham resimdir. Minimum işleme tabi tutularak, görüntüdeki tüm verileri ve bilgileri kaydeder. JPEG, Ortak Fotoğraf Uzman Grubu'nun kısaltmasıdır. Fotoğraflar için en yaygın kullanılan formattır. JPEG, renkli fotoğraflar için veya birçok karışımı veya degradesi olan görüntüler için özellikle iyidir. RAW, kameranın çektiği ham r
  • arasındaki fark: Kadar ve Kadar arasındaki fark

    Kadar ve Kadar arasındaki fark

    Anahtar fark: Oxford Sözlüğü kelimesini “Kadar (söz konusu noktaya veya olaya göre)” kelimesine kadar tanımlar. Dolayısıyla, bu zamana kadar olanın neredeyse aynı olduğu söylenebilir. Till, Until'in resmi olmayan bir sürümü olduğuna inanılan bir başka Until şeklidir. İngilizce dilinde oldukça yaygın bir kelimedir. Terimin ne anlama geldiği
  • arasındaki fark: Ruby on Rails ve Ruby on Rails arasındaki fark

    Ruby on Rails ve Ruby on Rails arasındaki fark

    Temel Fark: Ruby güçlü bir programlama dilidir, Ruby on Rails ise Ruby programlama diline dayalı bir web çerçevesidir. Bu çerçeve veri tabanlı web siteleri geliştirmek için kullanılır. Ruby, 1990'ların ortalarında Yukihiro Matsumoto tarafından geliştirilen bir betik dilidir. Bu dil, Windows, UNIX ve Mac OS sürümleri gibi çeşitli işletim sistemi platformlarında çalışabilir. Perl, Python vb. Gibi yo
  • arasındaki fark: Meyve Suyu ve Kabak Arasındaki Fark

    Meyve Suyu ve Kabak Arasındaki Fark

    Temel Fark: Meyve suyu, meyve ve sebzelerden sıvı elde edilerek elde edilen bir içecektir. Kabak, seyreltmeden sonra tüketilen şekerli ve konsantre bir meyve suyudur. Meyve suyu, meyve ve sebzelerde doğal olarak bulunan sıvıdır. Meyve ve sebzelerden ezme vb. Teknikler kullanılarak sıkılır. Meyve suyu
  • arasındaki fark: Samsung Galaxy Tab 3 7.0 ve Samsung Galaxy Note II Arasındaki Fark

    Samsung Galaxy Tab 3 7.0 ve Samsung Galaxy Note II Arasındaki Fark

    Temel Fark: Samsung Galaxy Tab 3 7.0, 7 inç WSVGA TFT dokunmatik ekrana sahip ve 188 x 111.1 x 9.9 mm boyutlarında, cihazı eski tablete göre daha ince hale getiriyor. Tablet aslında düşük seviye aralığı için hedeflenmiştir. Samsung Galaxy Note II, Samsung tarafından üretilen bir akıllı telefon ve Android tabanlı bir cihaz. Not II, 5.5 inçl
  • arasındaki fark: Göl ve Gölet Arasındaki Fark

    Göl ve Gölet Arasındaki Fark

    Temel Fark: Göller ve göletler arasında evrensel olarak standartlaştırılmış teknik bir ayrım yoktur. Birçok bilim insanı, sadece büyüklük temelinde sınıflandırıyor. Su insanların hayatta kalması için esastır ve su aynı zamanda Dünya üzerinde en yaygın olarak bulunan elementtir. Su, dünyanın% 71'ini
  • arasındaki fark: Tema ve Başlık Arasındaki Fark

    Tema ve Başlık Arasındaki Fark

    Temel Fark: İsimler, Tema ve Başlık arasındaki temel fark, Temanın, yazarın veya konuşmanın yapılacağı ana konuyu ifade etmesi ve Başlık, kitabın adı veya onuruna bir kişinin ismine sonek veya önek verilmesi gibi bir konudur. veya bir sözcüğü fiil olarak kullanırken kişinin pozisyonu veya isimlendirilmesi. Örneğin, bir makaleni
  • arasındaki fark: OTG ve Mikrodalga Arasındaki Fark

    OTG ve Mikrodalga Arasındaki Fark

    Anahtar Fark: OTG fırın, ekmek kızartma makinesi ve ızgara için kısa ve ekmek kızartma makinesi fırınının başka bir adıdır. OTG fırınları, büyük kardeşlerine pek çok şekilde benzeyen küçük elektrikli fırınlardır. Ön kapıları, çıkarılabilir tel rafları ve fırın tepsileri vardır. Bir mikrodalga fırın, yiyecekleri ıs
  • arasındaki fark: Yasallaştırma ve Decriminalization arasındaki fark

    Yasallaştırma ve Decriminalization arasındaki fark

    Anahtar Fark: Yasallaştırma veya yasallaştırma, orada belirli bir ürünün veya işlemin yasaklanmasını yasaklayan yasaların ne olduğu anlamına gelir. Suçlama ya da suçlama, eylemin yerine getirilmesinin artık suçlama ile sonuçlanmayacağı anlamına gelir. Yasallaştırılma ve hakaretten çıkarma terimleri artık tıbbi esrarın devam etmesine izin vermeyle ilgili tartışmalarla ortak kelimeler haline geldi. Bu kelimeler şimdi, birçok in

Editörün Seçimi

Arı ve Yaban Arısı Arasındaki Fark

Anahtar Fark: Arılar genellikle Bal ile ilişkilendirilir ve doğru şekilde. Arılar polen ve nektardan bal toplarlar ve çiçek toplarlar. Yaban arıları daha yaygın avcılardır, ancak ağlar çoğunlukla bal için karıştırılabilecek bir bitki reçinesini gizler. Nisan geldiğinde, sadece güzel çiçekler ve yağmur getirmekle kalmaz, aynı zamanda garip böcek ve böceklerden oluşan bir koleksiyon sunar. Güzel hava sadece bizim için