Özyineleme ve Yineleme Arasındaki Fark

İçindekiler:

Özyineleme ve Yineleme Arasındaki Fark
Özyineleme ve Yineleme Arasındaki Fark

Video: Özyineleme ve Yineleme Arasındaki Fark

Video: Özyineleme ve Yineleme Arasındaki Fark
Video: Yinelemelere Başvurma | Yineleme Örnekleri | Yineleme İkileme Farkı | Paragrafta Anlatım Teknikleri 2024, Kasım
Anonim

Anahtar Farkı – Özyineleme ve Yineleme

Özyineleme ve Yineleme, programlama sorunlarını çözmek için kullanılabilir. Özyineleme veya yineleme kullanarak sorunu çözme yaklaşımı, sorunu çözmenin yoluna bağlıdır. Özyineleme ve yineleme arasındaki temel fark, yinelemenin aynı işlev içinde bir işlevi çağırmak için bir mekanizma olması, yinelemenin ise verilen koşul doğru olana kadar bir dizi talimatı tekrar tekrar yürütmek olmasıdır. Özyineleme ve Yineleme, algoritma geliştirmek ve yazılım uygulamaları oluşturmak için başlıca tekniklerdir.

Yineleme Nedir?

Bir işlev, işlev içinde kendisini çağırdığında, Özyineleme olarak bilinir. İki tür özyineleme vardır. Bunlar, sonlu özyineleme ve sonsuz özyinelemedir. Sonlu özyinelemenin bir sonlandırma koşulu vardır. Sonsuz özyinelemenin sonlandırma koşulu yoktur.

Yineleme, faktöriyelleri hesaplamak için program kullanılarak açıklanabilir.

n!=n(n-1)!, n>0 ise

n!=1, eğer n=0 ise;

3(3!=321) faktöriyelini hesaplamak için aşağıdaki koda bakın.

intmain() {

int değeri=faktöriyel (3);

printf(“Faktöriyel %d\n”, değer);

dönüş 0;

}

infaktöriyel (intn) {

if(n==0) {

dönüş 1;

}

başka {

return n faktöriyel(n-1);

}

}

Faktöriyel (3) çağrılırken, bu fonksiyon faktöriyel (2)'yi çağırır. Faktöriyel (2)'yi çağırırken, bu fonksiyon faktöriyel (1)'i çağırır. Daha sonra faktöriyel (1) faktöriyel (0)'ı arayacaktır. faktöriyel (0), 1 değerini döndürür. Yukarıdaki programda, “if bloğu”ndaki n==0 koşulu, temel koşuldur. Benzer şekilde, faktöriyel fonksiyon tekrar tekrar çağrılır.

Öyinelemeli işlevler yığınla ilgilidir. C'de ana programın birçok işlevi olabilir. Yani main() çağıran fonksiyondur ve ana program tarafından çağrılan fonksiyon çağrılan fonksiyondur. Fonksiyon çağrıldığında kontrol çağrılan fonksiyona verilir. İşlev yürütmesi tamamlandıktan sonra kontrol ana konuma döndürülür. Ardından ana program devam eder. Bu nedenle, yürütmeye devam etmek için bir etkinleştirme kaydı veya yığın çerçevesi oluşturur.

Özyineleme ve Yineleme Arasındaki Fark
Özyineleme ve Yineleme Arasındaki Fark
Özyineleme ve Yineleme Arasındaki Fark
Özyineleme ve Yineleme Arasındaki Fark

Şekil 01: Özyineleme

Yukarıdaki programda, ana faktörden (3) faktöriyel çağırırken, çağrı yığınında bir aktivasyon kaydı oluşturur. Ardından, yığının üstünde faktöriyel (2) yığın çerçevesi oluşturulur ve bu şekilde devam eder. Aktivasyon kaydı, yerel değişkenler vb. hakkında bilgileri tutar. İşlev her çağrıldığında, yığının üstünde yeni bir yerel değişkenler kümesi oluşturulur. Bu yığın çerçeveleri hızı yavaşlatabilir. Aynı şekilde özyinelemede de bir fonksiyon kendini çağırır. Özyinelemeli bir işlev için zaman karmaşıklığı, işlevin çağrılma sayısıyla bulunur. Bir işlev çağrısı için zaman karmaşıklığı O(1)'dir. n sayıda özyinelemeli çağrı için zaman karmaşıklığı O(n).

Yineleme nedir?

Yineleme, verilen koşul doğru olana kadar tekrar tekrar tekrarlanan bir talimat bloğudur. Yineleme, “for döngüsü”, “do-while döngüsü” veya “while döngüsü” kullanılarak gerçekleştirilebilir. “for döngüsü” sözdizimi aşağıdaki gibidir.

for (başlatma; koşul; değiştirme) {

// ifadeler;

}

Özyineleme ve Yineleme Arasındaki Temel Fark
Özyineleme ve Yineleme Arasındaki Temel Fark
Özyineleme ve Yineleme Arasındaki Temel Fark
Özyineleme ve Yineleme Arasındaki Temel Fark

Şekil 02: “döngü akış şeması için”

Başlatma adımı önce yürütülür. Bu adım, döngü kontrol değişkenlerini bildirmek ve başlatmaktır. Koşul doğruysa, küme parantezleri içindeki ifadeler yürütülür. Bu ifadeler, koşul doğru olana kadar yürütülür. Koşul yanlışsa, kontrol “for döngüsü”nden sonraki ifadeye gider. Döngü içindeki deyimleri çalıştırdıktan sonra kontrol, değiştirme bölümüne gider. Döngü kontrol değişkenini güncellemek içindir. Daha sonra durum tekrar kontrol edilir. Koşul doğruysa, küme parantezleri içindeki ifadeler yürütülür. Bu şekilde "for döngüsü" yinelenir.

“while döngüsü”nde, döngü içindeki ifadeler koşul doğru olana kadar yürütülür.

while (koşul){

//ifadeler

}

“do-while” döngüsünde, döngünün sonunda koşul kontrol edilir. Yani döngü en az bir kez yürütülür.

yap{

//ifadeler

} while(koşul)

Yinelemeyi (“döngü için”) kullanarak 3'ün (3!) faktöriyelini bulan program aşağıdaki gibidir.

int main(){

intn=3, faktöriyel=1;

int;

for(i=1; i<=n; i++){

faktöriyel=faktöriyeli;

}

printf(“Faktöriyel %d\n”, faktöriyel);

dönüş 0;

}

Özyineleme ve Yineleme Arasındaki Benzerlikler Nelerdir?

  • Her ikisi de bir sorunu çözme teknikleridir.
  • Görev, özyineleme veya yineleme yoluyla çözülebilir.

Özyineleme ve Yineleme Arasındaki Fark Nedir?

Yineleme ve Yineleme

Yineleme, aynı işlev içindeki bir işlevi çağırma yöntemidir. Yineleme, verilen koşul doğru olana kadar tekrar eden bir talimat bloğudur.
Uzay Karmaşıklığı
Yinelemeli programların alan karmaşıklığı yinelemelerden daha yüksektir. Uzay karmaşıklığı yinelemelerde daha düşüktür.
Hız
Yineleme yürütme yavaş. Normalde, yineleme özyinelemeden daha hızlıdır.
Koşul
Sonlandırma koşulu yoksa sonsuz bir özyineleme olabilir. Koşul asla yanlış olmazsa, sonsuz bir yineleme olacaktır.
Yığın
Özyinelemede, yığın, işlev çağrıldığında yerel değişkenleri depolamak için kullanılır. Yinelemede yığın kullanılmaz.
Kod Okunabilirliği
Yinelemeli bir program daha okunabilirdir. Yinelemeli programı okumak yinelemeli bir programdan daha zordur.

Özet – Yineleme ve Yineleme

Bu makale özyineleme ve yineleme arasındaki farkı tartıştı. Her ikisi de programlama problemlerini çözmek için kullanılabilir. Özyineleme ve yineleme arasındaki fark, özyinelemenin aynı işlev içindeki bir işlevi çağırmak için bir mekanizma ve verilen koşul doğru olana kadar bir dizi talimatı tekrar tekrar yürütmek için yineleme olmasıdır. Bir problem özyinelemeli biçimde çözülebiliyorsa, yinelemeler kullanılarak da çözülebilir.

Yineleme ve Yinelemenin PDF Sürümünü İndirin

Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlarla kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin Özyineleme ve Yineleme Arasındaki Fark

Önerilen: