Design and Analysis of Algorithm - Simulation...

Preview:

Citation preview

Design and Analysis of AlgorithmWeek 4: Kompleksitas waktu algoritma rekursif part 1

Dr. Putu Harry Gunawan1

1Department of Computational ScienceSchool of ComputingTelkom University

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 1 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 2 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 3 / 48

Exercise 1

Quiz I

Kuis I dimulai selama 45 menit.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 4 / 48

Exercise 1

Buatlah algoritma rekursif untuk menghitung faktorial!Contoh

10! = 10× 9× · · · × 2× 1 (2.1)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 5 / 48

Exercise 2

Buatlah algoritma rekursif untuk menentukan nilai baris fibonanci ke-nContoh: Baris fibonanci ke 6

1, 1, 2, 3, 5, 8 (2.2)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 6 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 7 / 48

Pendahuluan

Pada bab ini, akan dibahas mengenai menghitung waktu asismtotik untukalgoritma rekursif. Kita mulai dengan definisi-definisi algoritma rekursif:

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 8 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 9 / 48

Rekursif

Dikatkan bentuk rekursif:

1 suatu subrutin atau fungsi/ prosedur yang memanggil dirinya sendiri.

2 bentuk dimana pemanggilan subrutin terdapat di dalam body subrutin

3 dengan rekursi, program akan lebih mudah dilihat.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 48

Rekursif

Dikatkan bentuk rekursif:

1 suatu subrutin atau fungsi/ prosedur yang memanggil dirinya sendiri.

2 bentuk dimana pemanggilan subrutin terdapat di dalam body subrutin

3 dengan rekursi, program akan lebih mudah dilihat.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 48

Rekursif

Dikatkan bentuk rekursif:

1 suatu subrutin atau fungsi/ prosedur yang memanggil dirinya sendiri.

2 bentuk dimana pemanggilan subrutin terdapat di dalam body subrutin

3 dengan rekursi, program akan lebih mudah dilihat.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 48

Rekursif

Dikatkan bentuk rekursif:

1 suatu subrutin atau fungsi/ prosedur yang memanggil dirinya sendiri.

2 bentuk dimana pemanggilan subrutin terdapat di dalam body subrutin

3 dengan rekursi, program akan lebih mudah dilihat.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 10 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 11 / 48

Rekursif

Tujuan dibuat rekursif:

1 menyederhanakan penulisan program

2 menggantikan bentuk iterasi

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 48

Rekursif

Tujuan dibuat rekursif:

1 menyederhanakan penulisan program

2 menggantikan bentuk iterasi

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 48

Rekursif

Tujuan dibuat rekursif:

1 menyederhanakan penulisan program

2 menggantikan bentuk iterasi

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 12 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 13 / 48

Rekursif

Syarat bentuk rekursif:

1 ada kondisi terminal

2 ada subroutine call yang melibatkan parameter yang nilainya menujukondisi terminal

Sehingga untuk menghitung kompleksitas bentuk rekursif, maka digunakanteknik perhitungan kompleksitas dengan relasi rekurens.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 48

Rekursif

Syarat bentuk rekursif:

1 ada kondisi terminal

2 ada subroutine call yang melibatkan parameter yang nilainya menujukondisi terminal

Sehingga untuk menghitung kompleksitas bentuk rekursif, maka digunakanteknik perhitungan kompleksitas dengan relasi rekurens.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 48

Rekursif

Syarat bentuk rekursif:

1 ada kondisi terminal

2 ada subroutine call yang melibatkan parameter yang nilainya menujukondisi terminal

Sehingga untuk menghitung kompleksitas bentuk rekursif, maka digunakanteknik perhitungan kompleksitas dengan relasi rekurens.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 48

Rekursif

Syarat bentuk rekursif:

1 ada kondisi terminal

2 ada subroutine call yang melibatkan parameter yang nilainya menujukondisi terminal

Sehingga untuk menghitung kompleksitas bentuk rekursif, maka digunakanteknik perhitungan kompleksitas dengan relasi rekurens.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 14 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 15 / 48

Faktorial

Perhatikan algoritma berikut:

Function Factorial(input n: integer) -> integer

Algoritma

if n=0 then return 1

else

return (n * Factorial(n-1))

endif

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 16 / 48

Faktorial

Kompleksitas waktu:

untuk kasus basis, tidak ada operasi perkalian → 0

untuk kasus rekurens, kompleksitas waktu diukur dari jumlahperkalian (1) ditambah kompleksitas wasktu untuk faktorial (n-1).

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 17 / 48

Faktorial

Sehingga relasi rekursinya dapat dibentuk menjadi:

T (n) =

{0, n = 0,

T (n − 1) + 1, n > 0.(4.1)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 18 / 48

Faktorial

Jadi menghitung waktunya adalah

T (n) = 1 + T (n − 1)

= 1 + 1 + T (n − 2) = 2 + T (n − 2)

= 2 + 1 + T (n − 3) = 3 + T (n − 3)

= · · ·= n + T (0)

= n + 0

Jadi T (n) = n→ O(n).

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 19 / 48

Generally

Secara umum, untuk menganalisis waktu efisiensi dari algoritma rekursif:

1 Putuskan dalam parameter, yang mengindikasikan ukuran inputan.

2 Identifikasi operasi dasar algoritma

3 Cek apakah jumlah operasi dasar akan berbeda jika ukuran masukanberbeda?, kalau iya maka dapat dihitung, waktu terbaik, terburuk,dan rata-rata secara terpisah.

4 Buat relasi rekursi dengan kondisi awal yang sesuai, untuk jumlahoperasi dasar yang dijalankan.

5 Selesaikan relasi rekursi, atau paling tidak tentukan orde kenaikannya.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 20 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 21 / 48

Hanoi Tower

Selanjutnya adalah contoh masalah yang dikenal sebagai the Tower ofHanoi puzzle. Dalam permainan ini, pemain diberikan tiga buah batu yangmemiliki ukuran berbeda. Batu-batu tersebut selanjutnya disusunberdasarakan ukuran, yakni ukuran terbesar berada paling bawah.

Tujuan dari permainan ini adalah, memindahkan tumpukan batu di tiang Ake B tanpa mengubah posisi batu besar paling bawah. Disediakan tiang Csebagai perantara.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 22 / 48

Hanoi Tower

Selanjutnya adalah contoh masalah yang dikenal sebagai the Tower ofHanoi puzzle. Dalam permainan ini, pemain diberikan tiga buah batu yangmemiliki ukuran berbeda. Batu-batu tersebut selanjutnya disusunberdasarakan ukuran, yakni ukuran terbesar berada paling bawah.Tujuan dari permainan ini adalah, memindahkan tumpukan batu di tiang Ake B tanpa mengubah posisi batu besar paling bawah. Disediakan tiang Csebagai perantara.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 22 / 48

Hanoi Tower

Figure : Solusi rekursif untuk masalah Menara Hanoi.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 23 / 48

Hanoi Tower

Procedure Hanoi (input n, A, B, C:integer)

Algoritma

If n=1 then

Write (Pindahkan piringan dari,A,ke,B)

Else

Hanoi(n-1,A,C,B)

Writeln(Pindahkan piringan dari,A,ke,B)

Hanoi(n-1,C,B,A)

Endif

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 24 / 48

Hanoi Tower

Operasi dasar dari algoritma Hanoi adalah ’Writeln()’, sehingga denganjelas bahwa pergerakan T (n) bergantung pada n yang relasi rekursinyaberupa:

T (n) = T (n − 1) + 1 + T (n − 1) ∀n > 1 (5.1)

Dengan kondisi awal T (1) = 1, maka relasi rekursinya ditulis ulang dalambentuk:

T (n) =

{1, n = 1

2T (n − 1) + 1, n > 1(5.2)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 25 / 48

Hanoi Tower

Maka kompleksitas waktunya dapat dihitung sebagai berikut:

T (n) = 2T (n − 1) + 1

= 2(2T (n − 2) + 1) + 1 = 22T (n − 2) + 2 + 1

= 22(2T (n − 3) + 1) + 2 + 1 = 23T (n − 3) + 22 + 2 + 1

= · · ·= 2n−2(2T (n − (n − 1)) + 1) + 2n−3 + · · ·+ 22 + 2 + 1

= 2n−2 · 2T (1) +(2n−2 + 2n−3 + · · ·+ 22 + 2 + 1

)= 2n−1 + 2n−2 + 2n−3 + · · ·+ 22 + 2 + 1

= 2n − 1

Sehingga T (n) = 2n − 1→ O(2n).

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 26 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 27 / 48

Min Max

Perhatikan algoritma mencari data maksimum dan minimum dari suatutabel berikut

procedure MinMaks2(input A : TabelInt, i, j : integer, output min, maks : integer)

{ Mencari nilai maksimum dan minimum di dalam tabel A

yang berukuran n elemen secara Divide and Conquer.

Masukan: tabel A yang sudah terdefinisi elemen- elemennya

Keluaran: nilai maksimum dan nilai minimum tabel

}

Deklarasi

min1, min2, maks1, maks2 : integer

if i=j then {Jika satu elemen}

min <-- A[i]

maks <-- A[i]

else

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 28 / 48

Min Max

else

if (i = j-1) then {Jika dua elemen}

if A[i] < A[j] then

maks <-- A[j]

min <-- A[i]

else

maks <-- A[i]

min <-- A[j]

endif

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 29 / 48

Min Max

else

k=(i+j) div 2 { bagidua tabel pada posisi k }

MinMaks2(A, i, k, min1, maks1)

MinMaks2(A, k+1, j, min2, maks2)

if min1 < min2 then

min <-- min1

else

min <-- min2

endif

if maks1<maks2 then

maks <-- maks2

else

maks <-- maks2

endif

endif

endif

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 30 / 48

Min Max

Dari algoritma tersebut dapat dibuat relasi rekursi sebagai berikut:

T (n) =

0, n = 1

1, n = 2

2T (n/2) + 2, n > 2

(6.1)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 31 / 48

Min Max

Sehingga waktu asismtotiknya bisa dicari yaitu:Misal n = 2k , sehingga

T (n) = 2T (n/2) + 2

= 2(2T (n/4) + 2) + 2 = 4T (n/4) + 4 + 2

= 4(2T (n/8) + 2) + 4 + 2 = 8T (n/8) + 8 + 4 + 2

= 23T (2k/23) + 8 + 4 + 2 = 23T (2k−3) + 23 + 22 + 21, n = 2k

= · · ·= 2k−1T (2) + 2k−1 + · · ·+ 22 + 21

= 2k−1 +k−1∑i=1

2i

= 2k−1 + 2k − 2

Selanjutnya bawa ke bentuk n atau k =2 log n,

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 32 / 48

Min Max

T (n) = 2k−1 + 2k − 2

= 22 log n−1 + 2

2 log n − 2

=n

2+ n − 2

=3n

2− 2 ∈ O(n)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 33 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 34 / 48

Tambahan

Untuk mengetahui kompleksitas bentuk rekursif, maka T (n) harus diubahdalam bentuk yang bukan rekursif.Bagaimana mengubah bentuk rekursif ke non rekursif ? Ada dua macamcara untuk menyelesaikan masalah ini, yaitu cara coba-coba dan denganpersamaan karakteristik :

1 Cara coba-coba (deret).

2 Metode dengan persamaan karakteristik

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 35 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 36 / 48

Metode Coba-Coba

Cara ini dilakukan dengan menentukan pola deret yang terbentuk (caraderet). Contoh untuk cara ini telah ditunjukkan dalam mencarikompleksitas waktu untuk beberapa bentuk rekursif sebelumnya. Cara iniagak sulit dan perlu pengalaman.

Example

Tentukan waktu rekursi berikut:

T (n) =

{a, n = 1, 2

T (n − 1) + T (n − 2) + b, n ≥ 3(7.1)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 37 / 48

Metode Coba-Coba

Solusi dari contoh diatas dengan cara coba coba adalah sebagi berikut:

T (1) = T (2) = a

T (3) = T (2) + T (1) + b = a + a + b = 2a + b

T (4) = T (3) + T (2) + b = (2a + b) + a + b = 3a + 2b

T (5) = T (4) + T (3) + b = (3a + 2b) + (2a + b) + b = 5a + 4b

T (6) = T (5) + T (4) + b = (5a + 4b) + (3a + 2b) + b = 8a + 7b

· · ·

Sangat sulit untuk bisa diformulasikan. Sehingga harus mencari cara lainutntuk menghitung waktu algoritma. Salah satu caranya adalah denganmenggunakan metode karakteristik. Metode ini akan dijelaskan padaperetemuan selanutnya.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 38 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 39 / 48

References

References1 Anany, L. (2003). Introduction to the design and analysis of

algorithms. Villanova University.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 40 / 48

Outline1 Quiz I

Quiz I2 Review3 Pendahuluan

PendahuluanDikatkan bentuk rekursif:Tujuan dibuat rekursif:Syarat bentuk rekursif:

4 Relasi Rekurens FaktorialRelasi Rekurens Faktorial

5 Relasi Rekurens Hanoi TowerRelasi Rekurens Hanoi Tower

6 Relasi Rekursi Min MaxRelasi Rekursi Min Max

7 TambahanTambahanCara coba-coba

8 ReferencesReferences

9 ExerciseExercise

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 41 / 48

Exercise 1

Selesaikan relasi rekurensi berikut:

T (n) =

{0, n = 1

T (n − 1) + 5, n ≥ 2(9.1)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 42 / 48

Exercise 2

Selesaikan relasi rekurensi berikut:

T (n) =

{4, n = 1

3T (n − 1), n ≥ 2(9.2)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 43 / 48

Exercise 3

Selesaikan relasi rekurensi berikut:

T (n) =

{0, n = 0

T (n − 1) + n, n > 0(9.3)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 44 / 48

Exercise 4

Selesaikan relasi rekurensi berikut:

T (n) =

{1, n = 1

T (n/2) + n, n > 1(9.4)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 45 / 48

Exercise 5

Selesaikan relasi rekurensi berikut:

T (n) =

{1, n = 1

T (n/3) + 1, n > 1(9.5)

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 46 / 48

Exercise 6

Diberikan algoritma untuk menghitung jumlah pangkat 3 dari deret,S(n) = n3 + (n − 1)3 + · · ·+ 23 + 13.

ALGORITHM S(n)

//Input: A positive integer n

//Output: The sum of the first n cubes

if n = 1 return 1

else return S(n - 1) + n * n * n

1 Tentukan relasi rekursi dari algoritma di atas dan selesaikan.

2 Bandingkan dengan algoritma yang tidak ditulis dengan rekursif.

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 47 / 48

The end of week 4

Thank you for your attention!

Dr. Putu Harry Gunawan (Telkom University) Design and Analysis of Algorithm 48 / 48

Recommended