SlideShare a Scribd company logo
1 of 1
Download to read offline
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)

More Related Content

Viewers also liked (9)

Australia Team Site Introduction
Australia Team Site IntroductionAustralia Team Site Introduction
Australia Team Site Introduction
 
El despertar.
El despertar.El despertar.
El despertar.
 
Actividad 2
Actividad 2Actividad 2
Actividad 2
 
ประว ต
ประว ต ประว ต
ประว ต
 
folleto
folletofolleto
folleto
 
Ken Schwaber
Ken SchwaberKen Schwaber
Ken Schwaber
 
полякова оп вариативная часть
полякова оп вариативная частьполякова оп вариативная часть
полякова оп вариативная часть
 
Caia Fogo - Fernandinho
Caia Fogo - FernandinhoCaia Fogo - Fernandinho
Caia Fogo - Fernandinho
 
Ingeniería Estructural Cusco 2015
Ingeniería Estructural Cusco 2015Ingeniería Estructural Cusco 2015
Ingeniería Estructural Cusco 2015
 

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

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

Chuong 1
Chuong 1Chuong 1
Chuong 1
 
Giao trinhgiaithuat13
Giao trinhgiaithuat13Giao trinhgiaithuat13
Giao trinhgiaithuat13
 
Giao trinhgiaithuat15
Giao trinhgiaithuat15Giao trinhgiaithuat15
Giao trinhgiaithuat15
 
Giao trinhgiaithuat09
Giao trinhgiaithuat09Giao trinhgiaithuat09
Giao trinhgiaithuat09
 
Bai tap lap trinh
Bai tap lap trinhBai tap lap trinh
Bai tap lap trinh
 
Multithreaded algorithms
Multithreaded algorithmsMultithreaded algorithms
Multithreaded algorithms
 

More from 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 cTó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
 
Lect04 functions
Lect04 functionsLect04 functions
Lect04 functions
Hồ Lợi
 
Ky thuatkhudequy
Ky thuatkhudequyKy thuatkhudequy
Ky thuatkhudequy
Hồ Lợi
 
Itt epc assignment
Itt epc assignmentItt epc assignment
Itt epc assignment
Hồ Lợi
 
Huong danontapc
Huong danontapcHuong danontapc
Huong danontapc
Hồ Lợi
 
H hai epc_baitap
H hai epc_baitapH hai epc_baitap
H hai epc_baitap
Hồ Lợi
 
Giaotrinhbaitapkythuatlaptrinh
GiaotrinhbaitapkythuatlaptrinhGiaotrinhbaitapkythuatlaptrinh
Giaotrinhbaitapkythuatlaptrinh
Hồ Lợi
 
Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2
Hồ Lợi
 
Giao trinh c c++
Giao trinh c c++Giao trinh c c++
Giao trinh c c++
Hồ Lợi
 
Epc assignment
Epc assignmentEpc assignment
Epc assignment
Hồ Lợi
 
Epc test practical
Epc test practicalEpc test practical
Epc test practical
Hồ Lợi
 
De thic++ --th
De thic++ --thDe thic++ --th
De thic++ --th
Hồ Lợi
 

More from Hồ Lợi (20)

Xu ly chuoi
Xu ly chuoiXu ly chuoi
Xu ly chuoi
 
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 cTó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
 
T4
T4T4
T4
 
Nguyen lyoop
Nguyen lyoopNguyen lyoop
Nguyen lyoop
 
Lect04 functions
Lect04 functionsLect04 functions
Lect04 functions
 
Ky thuatkhudequy
Ky thuatkhudequyKy thuatkhudequy
Ky thuatkhudequy
 
Itt epc assignment
Itt epc assignmentItt epc assignment
Itt epc assignment
 
Huong danontapc
Huong danontapcHuong danontapc
Huong danontapc
 
H hai epc_baitap
H hai epc_baitapH hai epc_baitap
H hai epc_baitap
 
Gtrinh oop
Gtrinh oopGtrinh oop
Gtrinh oop
 
Giaotrinhbaitapkythuatlaptrinh
GiaotrinhbaitapkythuatlaptrinhGiaotrinhbaitapkythuatlaptrinh
Giaotrinhbaitapkythuatlaptrinh
 
Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2Giao trinh ky thuat lap trinh 2
Giao trinh ky thuat lap trinh 2
 
Giao trinh c c++
Giao trinh c c++Giao trinh c c++
Giao trinh c c++
 
File trong c_
File trong c_File trong c_
File trong c_
 
Epc assignment
Epc assignmentEpc assignment
Epc assignment
 
Epc test practical
Epc test practicalEpc test practical
Epc test practical
 
De thic++ --th
De thic++ --thDe thic++ --th
De thic++ --th
 
Dethi c++ -lt
Dethi c++ -ltDethi c++ -lt
Dethi c++ -lt
 
Debug trong c
Debug trong cDebug trong c
Debug trong c
 
D05 stl
D05 stlD05 stl
D05 stl
 

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)