18 Pertanyaan Wawancara Algoritma Teratas & Jawaban

Anonim

Unduh PDF

1) Jelaskan apa yang dimaksud dengan algoritma dalam komputasi?

Algoritme adalah prosedur komputasi yang didefinisikan dengan baik yang mengambil beberapa nilai sebagai masukan dan menghasilkan beberapa nilai sebagai keluaran. Dengan kata sederhana, ini adalah urutan langkah komputasi yang mengubah input menjadi output.

2) Jelaskan apa yang dimaksud dengan algoritma Quick Sort?

Algoritma Quick Sort memiliki kemampuan untuk mengurutkan daftar atau query dengan cepat. Ini didasarkan pada prinsip pembagian partisi atau Divide and conquer. Jenis algoritme ini menggunakan lebih sedikit ruang, dan memisahkan daftar menjadi tiga bagian utama

  • Elemen lebih sedikit dari elemen Pivot
  • Elemen poros
  • Elemen lebih besar dari elemen Pivot

3) Jelaskan apa kompleksitas waktu Algoritma?

Kompleksitas waktu suatu algoritme menunjukkan total waktu yang dibutuhkan oleh program untuk dijalankan hingga selesai. Ini biasanya diekspresikan dengan menggunakan notasi O besar.

4) Sebutkan apa jenis Notasi yang digunakan untuk Kompleksitas Waktu?

Jenis Notasi yang digunakan untuk Kompleksitas Waktu termasuk

  • Big Oh: Ini menunjukkan "kurang dari atau sama dengan" iterasi
  • Big Omega : Ini menunjukkan iterasi "lebih dari atau sama dengan"
  • Big Theta: Ini menunjukkan iterasi "sama seperti"
  • Little Oh: Ini menunjukkan iterasi "kurang dari"
  • Little Omega: Ini menunjukkan iterasi "lebih dari"

5) Jelaskan bagaimana pencarian biner bekerja?

Dalam pencarian biner, kami membandingkan kunci dengan item di posisi tengah array. Jika kunci lebih kecil dari item yang dicari, maka kunci tersebut harus berada di paruh bawah larik, jika kuncinya lebih besar dari item yang dicari daripada yang seharusnya berada di paruh atas larik.

6) Jelaskan apakah mungkin menggunakan pencarian biner untuk daftar tertaut?

Karena akses acak tidak dapat diterima dalam daftar tertaut, tidak mungkin untuk mencapai elemen tengah waktu O (1). Dengan demikian, pencarian biner tidak memungkinkan untuk daftar tertaut.

7) Jelaskan apa yang dimaksud dengan heap sort?

Heap-sort dapat didefinisikan sebagai algoritma pengurutan berbasis perbandingan. Ini membagi masukannya ke dalam wilayah yang tidak disortir dan diurutkan, hingga menyusutkan wilayah yang tidak disortir dengan menghilangkan elemen terkecil dan memindahkannya ke wilayah yang diurutkan.

8) Jelaskan apa itu Skip list?

Lewati daftar metode untuk penataan data, yang memungkinkan algoritme untuk mencari, menghapus, dan menyisipkan elemen dalam tabel simbol atau kamus. Dalam daftar lewati, setiap elemen diwakili oleh sebuah node. Fungsi pencarian mengembalikan konten dari nilai yang terkait dengan kunci. Operasi penyisipan mengaitkan kunci yang ditentukan dengan nilai baru, sedangkan fungsi delete menghapus kunci yang ditentukan.

9) Jelaskan apa yang dimaksud dengan kompleksitas ruang dari algoritma semacam penyisipan?

Pengurutan penyisipan adalah algoritma pengurutan di tempat yang berarti tidak memerlukan tambahan atau sedikit. penyimpanan. Untuk penyisipan semacam, ini hanya membutuhkan satu elemen daftar untuk disimpan di luar data awal, membuat kompleksitas-ruang 0 (1).

10) Jelaskan apa itu "Algoritma Hash" dan untuk apa mereka digunakan?

"Hash Algorithm" adalah fungsi hash yang mengambil string dengan panjang berapa pun dan menguranginya menjadi string dengan panjang tetap yang unik. Ini digunakan untuk validitas kata sandi, integritas pesan & data dan untuk banyak sistem kriptografi lainnya.

11) Jelaskan bagaimana menemukan apakah daftar tertaut memiliki loop?

Untuk mengetahui apakah daftar tertaut memiliki loop, kita akan mengambil dua pendekatan penunjuk. Jika kita mempertahankan dua pointer, dan kita meningkatkan satu pointer setelah memproses dua node dan lainnya setelah memproses setiap node, kita cenderung menghadapi situasi di mana kedua pointer akan mengarah ke node yang sama. Ini hanya akan terjadi jika daftar tertaut memiliki loop.

12) Jelaskan bagaimana algoritma enkripsi bekerja?

Enkripsi adalah proses mengubah teks biasa menjadi format kode rahasia yang disebut "Ciphertext". Untuk mengubah teks, algoritma menggunakan string bit yang disebut "kunci" untuk perhitungan. Semakin besar kuncinya, semakin besar jumlah pola potensial untuk membuat teks sandi. Sebagian besar algoritma enkripsi menggunakan kode blok input tetap yang memiliki panjang sekitar 64 hingga 128 bit, sementara beberapa menggunakan metode aliran.

13) Sebutkan beberapa algoritma kriptografi yang umum digunakan?

Beberapa dari algoritma kriptografi yang umum digunakan adalah

  • 3 arah
  • Blowfish
  • PEMERAN
  • CMEA
  • GOST
  • DES dan Triple DES
  • IDE
  • LOKI dan sebagainya

14) Jelaskan apa perbedaan antara skenario kasus terbaik dan skenario kasus terburuk dari suatu algoritma?

  • Skenario kasus terbaik: Skenario kasus terbaik untuk suatu algoritme dijelaskan sebagai pengaturan data di mana algoritme memiliki kinerja terbaik. Misalnya, kami mengambil penelusuran biner, yang skenario kasus terbaiknya adalah jika nilai target berada di tengah-tengah data yang Anda telusuri. Kompleksitas waktu kasus terbaik adalah 0 (1)

  • Skenario kasus terburuk: Ini dirujuk ke set input terburuk untuk algoritme tertentu. Misalnya quicksort, yang dapat berkinerja paling buruk jika Anda memilih elemen terbesar atau terkecil dari sublist untuk nilai pivot. Ini akan menyebabkan quicksort merosot menjadi O (n2).

15) Jelaskan apa itu algoritma Radix Sort?

Urutan radix menempatkan elemen secara berurutan dengan membandingkan digit angka. Ini adalah salah satu algoritma pengurutan linier untuk bilangan bulat.

16) Jelaskan apa yang dimaksud dengan algoritma rekursif?

Algoritma rekursif adalah metode pemecahan masalah yang rumit dengan memecah masalah menjadi sub-masalah yang semakin kecil hingga Anda mendapatkan masalah yang cukup kecil sehingga dapat diselesaikan dengan mudah. Biasanya, ini melibatkan fungsi yang memanggil dirinya sendiri .

17) Sebutkan tiga hukum algoritma rekursi?

Semua algoritma rekursif harus mengikuti tiga hukum

  • Ini harus memiliki kasus dasar
  • Algoritme rekursif harus memanggil dirinya sendiri
  • Algoritme rekursif harus mengubah statusnya dan bergerak menuju kasus dasar

18) Jelaskan apa itu algoritma bubble sort?

Algoritma bubble sort juga disebut sebagai sinking sort. Dalam jenis pengurutan ini, daftar yang akan disortir membandingkan pasangan item yang berdekatan. Jika mereka diatur dalam urutan yang salah, itu akan menukar nilai dan mengaturnya dalam urutan yang benar.