İlk 18 Algoritma Mülakat Soruları & Yanıtlar

Anonim

PDF İndir

1) Hesaplamada algoritmanın ne olduğunu açıklayın?

Bir algoritma, girdi olarak bir miktar değer alan ve çıktı olarak bir miktar değer üreten iyi tanımlanmış bir hesaplama prosedürüdür. Basit bir deyişle, girdiyi çıktıya dönüştüren bir dizi hesaplama adımıdır.

2) Hızlı Sıralama algoritmasının ne olduğunu açıklayın?

Hızlı Sıralama algoritması, listeyi veya sorguları hızlı bir şekilde sıralama yeteneğine sahiptir. Bölme değişimi sıralama veya Böl ve fethet ilkesine dayanmaktadır. Bu tür bir algoritma daha az yer kaplar ve listeyi üç ana bölüme ayırır.

  • Pivot öğesinden daha küçük öğeler
  • Pivot öğesi
  • Pivot öğesinden daha büyük öğeler

3) Algoritmanın zaman karmaşıklığı nedir?

Bir algoritmanın zaman karmaşıklığı, programın tamamlanması için gereken toplam süreyi gösterir. Genellikle büyük O gösterimi kullanılarak ifade edilir .

4) Zaman Karmaşıklığı için kullanılan Gösterim türleri nelerdir?

Zaman Karmaşıklığı için kullanılan Gösterim türleri şunları içerir:

  • Big Oh: "Daha az veya aynı" yinelemesini gösterir
  • Büyük Omega : yinelemelerinin "daha fazla veya aynı" olduğunu belirtir
  • Büyük Theta: yinelemeleri "ile aynı" olduğunu gösterir
  • Little Oh: "Daha az" yinelemesini gösterir
  • Küçük Omega: yinelemelerinin "daha fazla" olduğunu gösterir

5) İkili aramanın nasıl çalıştığını açıklayın?

İkili aramada, anahtarı dizinin orta konumundaki öğe ile karşılaştırıyoruz. Anahtar, aranan öğeden daha küçükse, anahtar dizinin üst yarısında olması gerekenden daha büyükse, dizinin alt yarısında yer almalıdır.

6) Bağlantılı listeler için ikili aramayı kullanmanın mümkün olup olmadığını açıklayın.

Bağlantılı listede rastgele erişim kabul edilmediğinden, O (1) zamanının orta öğesine ulaşmak imkansızdır. Bu nedenle, bağlantılı liste için ikili arama mümkün değildir.

7) Yığın sıralamanın ne olduğunu açıklayın?

Yığın sıralama, karşılaştırmaya dayalı bir sıralama algoritması olarak tanımlanabilir. En küçük elemanı eleyerek ve bunu sıralı bölgeye taşıyarak sıralanmamış bölgeyi küçültene kadar girdisini sıralanmamış ve sıralı bölgeye böler.

8) Atlama listesi nedir?

Algoritmanın bir sembol tablosu veya sözlüğündeki öğeleri aramasına, silmesine ve eklemesine izin verdiği veri yapılandırma yöntemini listeyi atlayın. Bir atlama listesinde, her öğe bir düğüm ile temsil edilir. Arama işlevi, anahtarla ilgili değerin içeriğini döndürür. Ekleme işlemi, belirtilen anahtarı yeni bir değerle ilişkilendirirken, silme işlevi belirtilen anahtarı siler.

9) Eklemeli sıralama algoritmasının Uzay karmaşıklığının ne olduğunu açıklayın.

Ekleme sıralaması, yerinde bir sıralama algoritmasıdır, yani fazladan veya çok az şey gerektirmez. depolama. Ekleme sıralaması için, yalnızca tek liste öğelerinin ilk verilerin dışında depolanmasını gerektirir ve bu da alan karmaşıklığını 0 (1) yapar.

10) "Karma Algoritmanın" ne olduğunu ve ne için kullanıldığını açıklayın.

"Karma Algoritması", herhangi bir uzunlukta bir dizeyi alıp benzersiz bir sabit uzunlukta dizgeye indirgeyen bir karma işlevdir. Parola geçerliliği, mesaj ve veri bütünlüğü ve diğer birçok kriptografik sistem için kullanılır.

11) Bağlantılı listenin bir döngüye sahip olup olmadığını nasıl bulacağınızı açıklayın.

Bağlantılı listenin bir döngüye sahip olup olmadığını öğrenmek için iki işaretçi yaklaşımı kullanacağız. İki işaretçiyi sürdürürsek ve iki düğümü işledikten sonra bir işaretçiyi ve diğerini her düğümü işledikten sonra artırırsak, her iki işaretçinin de aynı düğümü göstereceği bir durumla karşılaşmamız olasıdır. Bu sadece bağlantılı liste bir döngüye sahipse gerçekleşir.

12) Şifreleme algoritmasının nasıl çalıştığını açıklayın?

Şifreleme, düz metni "Şifreli metin" olarak adlandırılan gizli bir kod biçimine dönüştürme işlemidir. Metni dönüştürmek için, algoritma, hesaplamalar için "anahtarlar" olarak adlandırılan bir bit dizisi kullanır. Anahtar ne kadar büyükse, şifreli metin oluşturmak için potansiyel desen sayısı o kadar fazla olur. Çoğu şifreleme algoritması 64 ila 128 bit uzunluğa sahip kodlar sabit girdi blokları kullanırken bazıları akış yöntemini kullanır.

13) Yaygın olarak kullanılan kriptografik algoritmalardan bazılarını listeleyin.

Yaygın olarak kullanılan kriptografik algoritmalardan bazıları

  • 3 yollu
  • Balon balığı
  • OYUNCULAR
  • CMEA
  • GOST
  • DES ve Üçlü DES
  • FİKİR
  • LOKI ve benzeri

14) Bir algoritmanın en iyi durum senaryosu ile en kötü durum senaryosu arasındaki farkın ne olduğunu açıklayın.

  • En iyi durum senaryosu: Bir algoritma için en iyi durum senaryosu, algoritmanın en iyi performans gösterdiği verilerin düzenlenmesi olarak açıklanır. Örneğin, hedef değer aradığınız verinin tam ortasındaysa en iyi senaryo olacağı ikili bir aramayı ele alıyoruz. En iyi durum zaman karmaşıklığı 0 (1) olacaktır

  • En kötü durum senaryosu: Belirli bir algoritma için en kötü girdi kümesine atıfta bulunulur. Örneğin, pivot değeri için bir alt listenin en büyük veya en küçük öğesini seçerseniz en kötü performansı gösteren hızlı sıralama. Hızlı sıralamanın O (n2) olarak bozulmasına neden olur.

15) Radix Sort algoritmasının ne olduğunu açıklayın?

Sayı tabanı sıralaması, sayıların basamaklarını karşılaştırarak elemanı sıraya koyar. Tamsayılar için doğrusal sıralama algoritmalarından biridir.

16) Özyinelemeli algoritmanın ne olduğunu açıklayın?

Özyinelemeli algoritma, bir problemi kolayca çözülebilecek kadar küçültene kadar daha küçük ve daha küçük alt problemlere bölerek karmaşık bir problemi çözme yöntemidir. Genellikle, kendisini çağıran bir işlevi içerir .

17) Özyineleme algoritmasının üç yasası nedir?

Tüm özyinelemeli algoritmalar üç yasaya uymalıdır

  • Temel bir durumu olmalı
  • Özyinelemeli bir algoritma kendisini çağırmalıdır
  • Özyinelemeli bir algoritma, durumunu değiştirmeli ve temel duruma doğru hareket etmelidir

18) Kabarcık sıralama algoritmasının ne olduğunu açıklayın?

Kabarcık sıralama algoritmasına aynı zamanda batan sıralama da denir. Bu tür sıralamada, sıralanacak liste bitişik öğeler çiftini karşılaştırır. Yanlış sırada düzenlenirlerse, değerleri değiştirecek ve doğru sıraya göre düzenleyecektir.