ݺߣ

ݺߣShare a Scribd company logo
Tính độ phức tạp của chương trình sau:
int tongtunhien(int n)
{
if (n==1)
return 1;
else
return 4*tongtunhien(n/2) + n;
}
1. Viết công thức đệ quy tính tổng thời gian thực hiện cho hàm tongtunhien.
2. Tính độ phức tạp của hàm này.
1. Gọi T(n) là thời gian tính tongtunhien của n.
Thì T(n/2) là thời gian tính tongtunhien của n/2.
Trong trường hợp n=1 thì chương trình chỉ thực hiện 1 lệnh return 1, nên tốn O(1), do đó ta có T(0) = C1.
Trường hợp n>1 chương trình phải gọi đệ quy tongtunhien(n/2), việc gọi đệ quy này tốn T(n/2), sau khi có kết quả
của việc gọi đệ quy, chương trình phải nhân kết quả đó với 4, sau đó cộng với n và return kết quả.
Thời gian để thực hiện phép nhân, phép cộng và return về kết quả là 1 hằng C2.
Vậy ta có phương trình đệ quy:
T(n) = C1 nếu n=1
T(n) = T(n/2) + C2 nếu n>1
2. Giải phương trình đệ quy:
T(n) = C1 nếu n=1
T(n) = T(n/2) + C2 nếu n>1
Ta có: T(n) = T(n/2) + C2
T(n) = [T(n/2
2
) + C2] + C2 = T(n/4) + 2C2
T(n) = [T(n/2
3
) + C2] + 2C2 = T(n/8) + 3C2
…
T(n) = T(n/2
i
) + iC2
Quá trình trên kết thúc khi n/2
i
= 1 hay 2
i
= n => i = logn. Khi đó ta có:
T(n) = T(1) + lognC2 = C1 + C2logn = O(logn)
Ad

Recommended

Cơ sở thuật toán
Cơ sở thuật toán
Hoàng Chí Dũng
Giao trinhgiaithuat16
Giao trinhgiaithuat16
Phi Phi
Giao trinhgiaithuat08
Giao trinhgiaithuat08
Phi Phi
Bai tap c++
Bai tap c++
thohiep2002
Giao trinhgiaithuat12
Giao trinhgiaithuat12
Phi Phi
Олімпійський тиждень 2016 у Брагинівській ЗОШ І-ІІІ ступенів
Олімпійський тиждень 2016 у Брагинівській ЗОШ І-ІІІ ступенів
gumenuk111
French project by SHIV
chives
Tablas de contenido
gloriacaravez19
Australia Team Site Introduction
Australia Team Site Introduction
World Forum Foundation
El despertar.
nitomel
Actividad 2
gloriacaravez19
ประว ต
ประว ต
Pupeapn
folleto
wamaluma
Ken Schwaber
Ken Schwaber
Shiraz316
полякова оп вариативная часть
полякова оп вариативная часть
s1erra123
Caia Fogo - Fernandinho
Josiane Ap. Pontes dos Santos
Ingeniería Estructural Cusco 2015
wipenza
Chuong 1
Chuong 1
thanhchi89
Giao trinhgiaithuat13
Giao trinhgiaithuat13
Phi Phi
Giao trinhgiaithuat15
Giao trinhgiaithuat15
Phi Phi
Giao trinhgiaithuat09
Giao trinhgiaithuat09
Phi Phi
Môn Học Kỹ thuật Phân Tích Thiết Kế Thuật Toán
Môn Học Kỹ thuật Phân Tích Thiết Kế Thuật Toán
tngo6821
0331124a-0205-43c0-83cc-43fd1e934250Combin03Enumeration.ppt
0331124a-0205-43c0-83cc-43fd1e934250Combin03Enumeration.ppt
NguynHi232828
Bai tap lap trinh
Bai tap lap trinh
Hồ Lợi
Multithreaded algorithms
Multithreaded algorithms
Soicon Karo
Xu ly chuoi
Xu ly chuoi
Hồ Lợi
Tóm tắt các hàm chuẩn của c
Tóm tắt các hàm chuẩn của c
Hồ Lợi
T4
T4
Hồ Lợi
Nguyen lyoop
Nguyen lyoop
Hồ Lợi
Lect04 functions
Lect04 functions
Hồ Lợi

More Related Content

Viewers also liked (9)

Australia Team Site Introduction
Australia Team Site Introduction
World Forum Foundation
El despertar.
nitomel
Actividad 2
gloriacaravez19
ประว ต
ประว ต
Pupeapn
folleto
wamaluma
Ken Schwaber
Ken Schwaber
Shiraz316
полякова оп вариативная часть
полякова оп вариативная часть
s1erra123
Caia Fogo - Fernandinho
Josiane Ap. Pontes dos Santos
Ingeniería Estructural Cusco 2015
wipenza
El despertar.
nitomel
Actividad 2
gloriacaravez19
ประว ต
ประว ต
Pupeapn
folleto
wamaluma
полякова оп вариативная часть
полякова оп вариативная часть
s1erra123
Caia Fogo - Fernandinho
Josiane Ap. Pontes dos Santos
Ingeniería Estructural Cusco 2015
wipenza

Similar to Câu 3 đề đợt 2 năm 2011 (8)

Chuong 1
Chuong 1
thanhchi89
Giao trinhgiaithuat13
Giao trinhgiaithuat13
Phi Phi
Giao trinhgiaithuat15
Giao trinhgiaithuat15
Phi Phi
Giao trinhgiaithuat09
Giao trinhgiaithuat09
Phi Phi
Môn Học Kỹ thuật Phân Tích Thiết Kế Thuật Toán
Môn Học Kỹ thuật Phân Tích Thiết Kế Thuật Toán
tngo6821
0331124a-0205-43c0-83cc-43fd1e934250Combin03Enumeration.ppt
0331124a-0205-43c0-83cc-43fd1e934250Combin03Enumeration.ppt
NguynHi232828
Bai tap lap trinh
Bai tap lap trinh
Hồ Lợi
Multithreaded algorithms
Multithreaded algorithms
Soicon Karo
Giao trinhgiaithuat13
Giao trinhgiaithuat13
Phi Phi
Giao trinhgiaithuat15
Giao trinhgiaithuat15
Phi Phi
Giao trinhgiaithuat09
Giao trinhgiaithuat09
Phi Phi
Môn Học Kỹ thuật Phân Tích Thiết Kế Thuật Toán
Môn Học Kỹ thuật Phân Tích Thiết Kế Thuật Toán
tngo6821
0331124a-0205-43c0-83cc-43fd1e934250Combin03Enumeration.ppt
0331124a-0205-43c0-83cc-43fd1e934250Combin03Enumeration.ppt
NguynHi232828
Multithreaded algorithms
Multithreaded algorithms
Soicon Karo
Ad

More from Hồ Lợi (20)

Xu ly chuoi
Xu ly chuoi
Hồ Lợi
Tóm tắt các hàm chuẩn của c
Tóm tắt các hàm chuẩn của c
Hồ Lợi
T4
T4
Hồ Lợi
Nguyen lyoop
Nguyen lyoop
Hồ Lợi
Lect04 functions
Lect04 functions
Hồ Lợi
Ky thuatkhudequy
Ky thuatkhudequy
Hồ Lợi
Itt epc assignment
Itt epc assignment
Hồ Lợi
Huong danontapc
Huong danontapc
Hồ Lợi
H hai epc_baitap
H hai epc_baitap
Hồ Lợi
Gtrinh oop
Gtrinh oop
Hồ Lợi
Giaotrinhbaitapkythuatlaptrinh
Giaotrinhbaitapkythuatlaptrinh
Hồ Lợi
Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2
Hồ Lợi
File trong c_
File trong c_
Hồ Lợi
Epc assignment
Epc assignment
Hồ Lợi
Epc test practical
Epc test practical
Hồ Lợi
De thic++ --th
De thic++ --th
Hồ Lợi
Dethi c++ -lt
Dethi c++ -lt
Hồ Lợi
Debug trong c
Debug trong c
Hồ Lợi
D05 stl
D05 stl
Hồ Lợi
Ad

Câu 3 đề đợt 2 năm 2011

  • 1. Tính độ phức tạp của chương trình sau: int tongtunhien(int n) { if (n==1) return 1; else return 4*tongtunhien(n/2) + n; } 1. Viết công thức đệ quy tính tổng thời gian thực hiện cho hàm tongtunhien. 2. Tính độ phức tạp của hàm này. 1. Gọi T(n) là thời gian tính tongtunhien của n. Thì T(n/2) là thời gian tính tongtunhien của n/2. Trong trường hợp n=1 thì chương trình chỉ thực hiện 1 lệnh return 1, nên tốn O(1), do đó ta có T(0) = C1. Trường hợp n>1 chương trình phải gọi đệ quy tongtunhien(n/2), việc gọi đệ quy này tốn T(n/2), sau khi có kết quả của việc gọi đệ quy, chương trình phải nhân kết quả đó với 4, sau đó cộng với n và return kết quả. Thời gian để thực hiện phép nhân, phép cộng và return về kết quả là 1 hằng C2. Vậy ta có phương trình đệ quy: T(n) = C1 nếu n=1 T(n) = T(n/2) + C2 nếu n>1 2. Giải phương trình đệ quy: T(n) = C1 nếu n=1 T(n) = T(n/2) + C2 nếu n>1 Ta có: T(n) = T(n/2) + C2 T(n) = [T(n/2 2 ) + C2] + C2 = T(n/4) + 2C2 T(n) = [T(n/2 3 ) + C2] + 2C2 = T(n/8) + 3C2 … T(n) = T(n/2 i ) + iC2 Quá trình trên kết thúc khi n/2 i = 1 hay 2 i = n => i = logn. Khi đó ta có: T(n) = T(1) + lognC2 = C1 + C2logn = O(logn)