Saat ini, saya mempelajari sendiri Intro to Algorithms (CLRS) dan ada satu metode khusus yang mereka uraikan dalam buku ini untuk menyelesaikan hubungan perulangan.
Metode berikut dapat diilustrasikan dengan contoh ini. Misalkan kita mengalami kekambuhan
Awalnya mereka membuat substitusi m = lg (n), dan kemudian hubungkan kembali ke perulangan dan dapatkan:
Sampai pada titik ini saya mengerti dengan sempurna. Langkah selanjutnya ini yang membingungkan saya.
Mereka sekarang "mengubah nama" pengulangan dan membiarkan , yang tampaknya menghasilkanS ( m ) = T ( 2 m )
Untuk beberapa alasan tidak jelas bagi saya mengapa penggantian nama ini berhasil, dan sepertinya curang. Adakah yang bisa menjelaskan ini dengan lebih baik?
k
saya mendapatkan bawah persamaan S (k) = 2S (k / 2) + m Bagaimana saya bisa mendapatkan penggantim
untukk
Yang dimaksud adalah bahwa dan adalah dua fungsi berbeda yang menghasilkan hasil yang sama sambil mengambil input masing-masing sebagai dan .S T m 2 mS( m ) =T( 2m) S T m 2m
Fungsi dapat dianggap sebagai operator dengan dua langkah internal (jika tidak, komposisi fungsi):S
m 2 mS′ : Input: , Output:m 2m
Maka transisi adalah:
m
sumber