Video trên đây nói về cách tính độ phức tạp thời gian của 1 thuật toán.
*** Những dòng lệnh đơn giản chỉ mất 1 đơn vị thời gian.
** Toàn bộ video về thuật toán của mình:
#thuattoan #thuatoan #algorithm #basic #thuat #toan
Tag: độ phức tạp của thuật toán, calculate Big O,Time Complexity,Algorithm
Xem Thêm Bài Viết Giáo Dục Khác: http://nhịpsống.vn/giao-duc
Nguồn: http://nhịpsống.vn
Hi anh, nếu trong trường hợp 3 vòng for lồng nhau:
vòng for 1: i=0; i<n; i++
vòng for 2 trong vòng for 1: j=0; j < m ; j++
vòng for 3 trong vong for 2: k=0; k < h; k++
thì simple statement trong vòng for 3 sẽ có : n* m * h unit of time
mình quy n, m, h về thành n thì dc O(n3)
cách tính như vậy có đúng ko a?
rất dễ hiểu, cảm ơn bạn
cảm ơn bạn nha. bạn có đôi tay đẹp và giọng nói rất hay
vd 3:40 anh ơi cho em hỏi, nhiều tài liệu ghi câu lệnh for chạy từ 0 đến (n-1) là chạy n lần. sao anh lại giải thích là chạy n +1. mặc dù em xem vd thấy cũng hợp lý, nhiều tài liệu lại viết là n lần
sao bài thuật toán cộng 2 ma trận , vòng for thứ 2 lại n lần , đáng nhẽ là n+1 lần chứ, như vậy phải (n+1) * (n+1)
ok rất dễ hiểu ; cảm ơn bạn
hay quá anh ơi :)))))
Anh ơi cho em hỏi cái ví dụ cuối, sao theo time thì O(x3) còn theo space thì là O(x2) vậy?
dạ anh ơi choe em hỏi còn đối với vòng lặp while thì sao ạ,. Độ phức tạp Time là = n phải ko anh
Cảm ơn anh nha!! Rất là dễ hiểu luôn
cảm ơn anh ạ <3
Rất hay ạ
Các câu lệnh printf thì không tính phải không anh ?
Z chok hỏi ngu xíu vs nếu z còn O(logN) thì nhận biết sao z bạn
theo em dc biết thì khi đếm các phép toán sơ cấp thì bỏ qua phép gán ấy ạ. anh giải thích hộ em với
hay quá a ơi =)))
Cho e hỏi, ở ví dụ 2 sao điều kiện vòng for là i<n ; i++ . A cho thử với n=2 thì vòng lặp sẽ đi từ giá trị 0 1 ( là 2 lần lặp ), mà trong video e nghe a nói nó thực hiện 3 lần lặp là sao ạ, với cho e hỏi nếu điều kiện là i<=n thì time n+1 có còn đúng k ạ. Cám ơn anh rất nhiều , video rất bổ ích
ân nhân đây r <3
hay quá ạ !! em cảm cơn anh nhiều <3
int binarySearch(int arr[], int l, int r, int x) {
if (r >= l) {
int mid = l + (r – l) / 2;
if (arr[mid] == x)
return mid;
if (arr[mid] > x)
return binarySearch(arr, l, mid – 1, x);
return binarySearch(arr, mid + 1, r, x);
}
thuật toán tìm kiếm nhị phân này thì tìm độ phức tạp nhu thế nào hả anh , em cảm ơn
anh ơi, cho em hỏi là khi có lệnh if else thì tính như thế nào ạ
Rất dễ hiểu , em cảm ơn anh ạ
tại sao khong gian bộ nhớ là n*n ạ
tại sao n không gian chỉ mất 1 đơn vị ạ
Anh ơi em thấy vòng for thực hiện 3 phép toán thì nó phải là 3n chứ anh @@ em mới học nên chưa rõ mong anh giải đáp
Cảm ơn anh, nice video!
Rất dễ hiểu, cảm ơn anh
Cho mình hỏi là ở ví dụ 3 phòng for, thì phép cộng ở vòng for cuối sao ko thấy liệt kê ở độ phức tạp ko gian
Anh ơi sao vd cuối lại có thêm mảng C mà vd gần cuối cũng có mảng C mà k ghi vậy ạ ?
a cho em hỏi, trong vòng for truy suất a là 1 lần tính tổng là 2 lần gán lại cho sum là 3 lần, tức là 3n chứ nhỉ. E chưa rõ lắm mới học mong a giải đáp
hay lắm bạn, rất dễ hiểu!