Isi kandungan:

Bagaimanakah kerumitan isihan gabungan dikira?
Bagaimanakah kerumitan isihan gabungan dikira?

Video: Bagaimanakah kerumitan isihan gabungan dikira?

Video: Bagaimanakah kerumitan isihan gabungan dikira?
Video: CARA MEMBERIKAN NILAI, SKOR DAN BOBOT SOAL OBJEKTIF DAN ISIAN 2024, November
Anonim

2 Jawapan. Pemisahan nod A[L, R] kepada dua nod mengambil masa R−L+1 dan kemudian penggabungan dua nod anak A[L, M] dan A[M+1, R] sekali lagi mengambil masa A[R−L+1]. Oleh itu untuk setiap nod, bilangan operasi algoritma performs adalah sama dengan dua kali ganda saiz tatasusunan yang sepadan dengan nod itu.

Mengenai ini, bagaimanakah pengisihan gabungan berfungsi?

Begini cara isihan gabungan menggunakan divid-and-conquer:

  1. Bahagi dengan mencari nombor q bagi kedudukan tengah antara p dan r.
  2. Takluk dengan mengisih subarray secara rekursif dalam setiap dua submasalah yang dicipta oleh langkah bahagi.
  3. Gabungkan dengan menggabungkan dua subarray yang diisih kembali ke dalam tatasusunan subarray tersusun tunggal[hlm..

Selain itu, apakah kerumitan O yang besar untuk jenis gabungan? Gabung Isih adalah kandang kuda menyusun yang bermaksud bahawa elemen yang sama dalam tatasusunan mengekalkan kedudukan asalnya berkenaan antara satu sama lain. Keseluruhan masa kerumitan daripada Gabungkan jenis ialah O (nLogn). Ia lebih cekap kerana dalam kes terburuk juga masa jalannya O (nlogn) Ruang kerumitan daripada Gabungkan jenis ialah O (n).

apakah kerumitan jenis gabungan dalam kes terburuk?

n*log(n)

Berapa banyak perbandingan yang dibuat oleh penggabungan?

Apabila kami kehabisan elemen dalam salah satu senarai, kami meletakkan elemen yang tinggal ke dalam slot terakhir disusun senarai. Akibatnya, penggabungan dua senarai yang mempunyai sejumlah n elemen memerlukan paling banyak n-1 perbandingan.

Disyorkan: