Cách đo hiu qu thut toán gián tiếp qua hiu qu chương trình máy tính không đ
tin cy khi so sánh thut toán
Thi gian chy ph thuc nhiu vào cu hình phn cng
Ngôn ng lp trình nh ng đến hiu qu chương trình
Kinh nghim ca ngưi lp trình s nh ng ti hiu qu chương trình
Vic so sánh thut toán s mt nhiu thi gian
Khó th tn dng li các kết qu đã khi so sánh vi 1 thut toán mi
Correct
1/1 Points
2
Ưu đim ca cách đánh giá thut toán trc tiếp là
Có th đánh giá thut toán ngay t t
Không ph thuc vào cu hình phn cng máy tính
th tái s dng đánh giá khi so nh thut toán
Đánh giá đơn gin d dàng hơn hình gián tiếp
Correct
1/1 Points
3
A B 2 thut toán thi gian thc hin trong trường hp ti nht tương ng
TA(n) = 100n^2 + n+6 , TB(n) = n^3 +n. Nhng kết lun nào sau đây đúng
Thut toán B luôn cho thi gian thc hin ti hơn A
Thut toán A thường nhanh hơn B trong trường hp tng quát
Trong mt s trưng hp, thut toán A th chm hơn thut toán B
Thut toán A luôn nhanh hơn thut toán B
Correct
1/1 Points
4
Trong đánh giá hiu qu v thi gian thc hin ca thut toán trong trưng hp ti
nht theo O-ln thì nhng khẳng định nào sau đây là đúng
Quan tâm đến lnh bn = lnh đưc thc hin nhiu nht
Mi gi s v d liệu đầu vào s đưc tm thi b qua
Nếu trong hàm nhiu lnh dng hoc return thì quan tâm đến lnh return nào
dn ti thi gian thc hin ti nht
Ch cn đếm 1 lnh bn đủ
Incorrect
0/1 Points
5
Khi kích thưc đầu o bài toán c n=1000000 phn t thì ta nên chn thut toán
độ phc tp c nào để thi gian thc hin là chp nhn đưc
O(n^3)
O(nlogn)
O(n^2)
O(n!)
O(2^n)
O(nloglogn)
Correct
1/1 Points
6
Khng định o sau đây v các lp hàm theo O-ln đúng
Các thut toán thuc các lp hàm khác nhau tc độ tăng khác nhau
Các thut toán thuc lp hàm hng độ phc tp KHÔNG ph thuôc vào kích
thước d liệu đầu vào
Các thut toán thuc các lp hàm càng phc tp (càng ln) thì thi gian thc hin
càng nhanh
Các thut toán thuc cùng mt lp hàm thi gian thc hin khi cài đặt
Hai thut toán thuc cùng mt lp hàm s thi gian thc hin trong thc tế
như nhau trên cùng 1 b d liu đầu vào
Thut toán thuc lp hàm O(n) luôn thi gian thc hin nh hơn 1 thut toán
thuc lp hàm O(n^2) trên cùng 1 b d liu đầu vào
Correct
1/1 Points
7
Khng định nào sau v thi gian thc hin theo O-ln ca thut toán sau đúng
(hàm func1)
Thi gian thc hin ca func1 trong trường hp ti nht O(n^2)
Thi gian thc hin ca func1 trong trường hp tt nht O(n^2)
Thi gian thc hin ca func1 trong trường hp tt nht O(n)
Thi gian thc hin ca func1 trong trường hp tt nht O(1)
Correct
1/1 Points
8
Đặc đim ca nh RAM
Đếm s ln thc hin các câu lnh bn
Ch quan tâm chính đến thi gian thc hin - thi gian CPU
Ch th đánh giá thut toán đưc t bng gi ngôn ng hoc ngôn ng lp
trình c th
mt nhiu thi gian để đánh giá phi xét tng câu lnh đơn l
Incorrect
0/1 Points
9
Ti sao cn xây dng thut toán hiu qu
máy tính không th tăng tc độ b x lý lên mãi đưc
kích thước d liu ca bài toán y tính cn x ngày càng tăng
Vì chúng ta mun rút ngn thi gian phi ch đợi
chi phí y dng thut toán hiu qu s r hơn
chi phí đ đu nâng cao tc độ máy tính thưng đắt hơn nhiu so vi chi phí
đầu tư cải tiến thut toán
Correct
1/1 Points
10
Thi gian thc hin ca thut toán đặc đim gì? Hãy chn các đáp án đúng
Ph thuộc vào kích thước đầu vào
Ph thuc vào giá tr đầu vào c th ca d liu
Thi gian thc hin ti nht thi gian đưc quan tâm nht
Thi gian trung bình trung bình cng ca thi gian ti nht tt nht
Tun 2
1
Phương pháp nào sau đây dùng đ gii công thức đệ quy tng quát
Phương pháp quy np
Phương pháp phân
Phương pháp thay thế
Định lý th
Cây đ quy
Cây nh phân
Incorrect
0/1 Points
2
Đâu các chi phí ph tri khi cài đặt thut toán dạng đ quy ngưi lp trình
thường b qua
chi phí x li gi hàm đệ quy
chi phí tng hp li gii
chi phí b nh ph
chi phí chia nh bài toán
Correct
1/1 Points
3
Nhng khng định nào sau đây v thut toán đệ quy đúng
Thut toán đệ quy thường ngn gn hơn thut toán dùng vòng lp
Thut toán đ quy thưng khó g lỗi hơn
Thut toán đệ quy thường hiu qu hơn ng lp
Thut toán đệ quy thường ít s dng b nh ph hơn thut toán lp
Correct
1/1 Points
4
Cho đon hàm tính s fibonacci sau.
Đâu là khẳng định đúng
Thi gian thc hin là O(n)
Thi gian thc hin O(nlogn)
Thi gian thc hin là O(logn)
Correct
1/1 Points
5
Đâu các trưng hp công thức đệ quy tng quát th áp dụng định th
T(n) = 2T(n/2)+n
T(n) = T(n/2) + T(n/3) + n
T(n) = 2T(n-1)+1
T(n) = T(n/3) + nlogn
Incorrect
0/1 Points
6
nhưng cách nào để ci thin hiu qu ca thut toán đưc cài đặt đệ quy
dùng biến ph để gim s ln phi gọi đ quy
kh đệ quy (biu din li thut toán dùng dng vòng lp)
Chia bài toán thành nhiu bài toán con nh n nữa
dùng bng tra đ lưu các kết qu trùng lp
m rng s trường hp s để thut toán nhanh dng hơn
Incorrect
0/1 Points
7
Cho hàm đ quy sau, nhng khng định nào sau dây đúng
Thi gian thc hin trong trường hp ti nht O(n)
Thi gian thc hin trong trường hp ti nht O(n^3)
Vic chia thành 3 bài toán con hoc nhiu hơn s làm tăng tc độ thc hin (theo
thi gian vt lý trên máy)
Vic chia thành nhiu bài toán con s làm thi gian thc hin b ti đi so vi ch
chia 2 (theo thi gian vt lý trên máy)
Incorrect
0/1 Points
8
Trong đánh giá thut toán trong trường hp ti nht ta s b qua nhng yếu t nào
b qua nhng lnh return sm
b qua nhng trường hp ca d liu làm thut toán dng sm
b qua nhng trưng hp d liệu đu vào nh
b qua kích thước đầu vào bài toán
b qua nhng lnh ít đưc thc hin
Incorrect
0/1 Points
9
Cho hàm đệ quy tìm đon con ng dài nht sau
Đâu là khẳng định đúng
Thi gian thc hin là O(n^2)
Thi gian thc hin O(logn)
Không khng định nào trên đúng
Correct
1/1 Points
10
Cho đon hàm tìm s tn s xut hin ln nht trong mng sau
Đâu là khẳng định đúng
Thi gian thc hin là O(n)
Thi gian thc hin O(nlogn)
Thi gian thc hin là O(logn)

Preview text:

Cách đo hiệu quả thuật toán gián tiếp qua hiệu quả chương trình máy tính không đủ
tin cậy khi so sánh thuật toán vì
Thời gian chạy phụ thuộc nhiều vào cấu hình phần cứng
Ngôn ngữ lập trình ảnh hưởng đến hiệu quả chương trình
Kinh nghiệm của người lập trình sẽ ảnh hưởng tới hiệu quả chương trình
Việc so sánh thuật toán sẽ mất nhiều thời gian
Khó có thể tận dụng lại các kết quả đã có khi so sánh với 1 thuật toán mới Correct 1/1 Points 2
Ưu điểm của cách đánh giá thuật toán trực tiếp là
Có thể đánh giá thuật toán ngay từ mô tả
Không phụ thuộc vào cấu hình phần cứng máy tính
Có thể tái sử dụng đánh giá cũ khi so sánh thuật toán
Đánh giá đơn giản và dễ dàng hơn mô hình gián tiếp Correct 1/1 Points 3
A và B là 2 thuật toán có thời gian thực hiện trong trường hợp tồi nhất tương ứng là
TA(n) = 100n^2 + n+6 , và TB(n) = n^3 +n. Những kết luận nào sau đây là đúng
Thuật toán B luôn cho thời gian thực hiện tồi hơn A
Thuật toán A thường nhanh hơn B trong trường hợp tổng quát
Trong một số trường hợp, thuật toán A có thể chậm hơn thuật toán B
Thuật toán A luôn nhanh hơn thuật toán B Correct 1/1 Points 4
Trong đánh giá hiệu quả về thời gian thực hiện của thuật toán trong trường hợp tồi
nhất theo O-lớn thì những khẳng định nào sau đây là đúng
Quan tâm đến lệnh cơ bản = lệnh được thực hiện nhiều nhất
Mọi giả sử về dữ liệu đầu vào sẽ được tạm thời bỏ qua
Nếu trong hàm có nhiều lệnh dừng hoặc return thì quan tâm đến lệnh return nào
dẫn tới thời gian thực hiện tồi nhất
Chỉ cần đếm 1 lệnh cơ bản là đủ Incorrect 0/1 Points 5
Khi kích thước đầu vào bài toán cỡ n=1000000 phần tử thì ta nên chọn thuật toán có
độ phức tạp cỡ nào để thời gian thực hiện là chấp nhận được O(n^3) O(nlogn) O(n^2) O(n!) O(2^n) O(nloglogn) Correct 1/1 Points 6
Khẳng định nào sau đây về các lớp hàm theo O-lớn là đúng
Các thuật toán thuộc các lớp hàm khác nhau có tốc độ tăng khác nhau
Các thuật toán thuộc lớp hàm hằng có độ phức tạp KHÔNG phụ thuôc vào kích
thước dữ liệu đầu vào
Các thuật toán thuộc các lớp hàm càng phức tạp (càng lớn) thì thời gian thực hiện càng nhanh
Các thuật toán thuộc cùng một lớp hàm có thời gian thực hiện khi cài đặt
Hai thuật toán thuộc cùng một lớp hàm sẽ có thời gian thực hiện trong thực tế là
như nhau trên cùng 1 bộ dữ liệu đầu vào
Thuật toán thuộc lớp hàm O(n) luôn có thời gian thực hiện nhỏ hơn 1 thuật toán
thuộc lớp hàm O(n^2) trên cùng 1 bộ dữ liệu đầu vào Correct 1/1 Points 7
Khẳng định nào sau về thời gian thực hiện theo O-lớn của thuật toán sau là đúng (hàm func1)
Thời gian thực hiện của func1 trong trường hợp tồi nhất là O(n^2)
Thời gian thực hiện của func1 trong trường hợp tốt nhất là O(n^2)
Thời gian thực hiện của func1 trong trường hợp tốt nhất là O(n)
Thời gian thực hiện của func1 trong trường hợp tốt nhất là O(1) Correct 1/1 Points 8
Đặc điểm của mô hình RAM là
Đếm số lần thực hiện các câu lệnh cơ bản
Chỉ quan tâm chính đến thời gian thực hiện - thời gian CPU
Chỉ có thể đánh giá thuật toán được mô tả bằng giả ngôn ngữ hoặc ngôn ngữ lập trình cụ thể
mất nhiều thời gian để đánh giá vì phải xét từng câu lệnh đơn lẻ Incorrect 0/1 Points 9
Tại sao cần xây dựng thuật toán hiệu quả
Vì máy tính không thể tăng tốc độ bộ xử lý lên mãi được
Vì kích thước dữ liệu của bài toán mà máy tính cần xử lý ngày càng tăng
Vì chúng ta muốn rút ngắn thời gian phải chờ đợi
Vì chi phí xây dựng thuật toán hiệu quả sẽ rẻ hơn
Vì chi phí để đầu tư nâng cao tốc độ máy tính thường đắt hơn nhiều so với chi phí
đầu tư cải tiến thuật toán Correct 1/1 Points 10
Thời gian thực hiện của thuật toán có đặc điểm là gì? Hãy chọn các đáp án đúng
Phụ thuộc vào kích thước đầu vào
Phụ thuộc vào giá trị đầu vào cụ thể của dữ liệu
Thời gian thực hiện tồi nhất là thời gian được quan tâm nhất
Thời gian trung bình là trung bình cộng của thời gian tồi nhất và tốt nhất Tuần 2 1
Phương pháp nào sau đây dùng để giải công thức đệ quy tổng quát Phương pháp quy nạp Phương pháp phân rã Phương pháp thay thế Định lý thợ Cây đệ quy Cây nhị phân Incorrect 0/1 Points 2
Đâu là các chi phí phụ trội mà khi cài đặt thuật toán dạng đệ quy người lập trình thường bỏ qua
chi phí xử lý lời gọi hàm đệ quy
chi phí tổng hợp lời giải chi phí bộ nhớ phụ
chi phí chia nhỏ bài toán Correct 1/1 Points 3
Những khẳng định nào sau đây về thuật toán đệ quy là đúng
Thuật toán đệ quy thường ngắn gọn hơn thuật toán dùng vòng lặp
Thuật toán đệ quy thường khó gỡ lỗi hơn
Thuật toán đệ quy thường hiệu quả hơn vòng lặp
Thuật toán đệ quy thường ít sử dụng bộ nhớ phụ hơn thuật toán lặp Correct 1/1 Points 4
Cho đoạn hàm tính số fibonacci sau.
Đâu là khẳng định đúng
Thời gian thực hiện là O(n)
Thời gian thực hiện là O(nlogn)
Thời gian thực hiện là O(logn) Correct 1/1 Points 5
Đâu là các trường hợp công thức đệ quy tổng quát có thể áp dụng định lý thợ T(n) = 2T(n/2)+n T(n) = T(n/2) + T(n/3) + n T(n) = 2T(n-1)+1 T(n) = T(n/3) + nlogn Incorrect 0/1 Points 6
Có nhưng cách nào để cải thiện hiệu quả của thuật toán được cài đặt đệ quy
dùng biến phụ để giảm số lần phải gọi đệ quy
khử đệ quy (biểu diễn lại thuật toán dùng dạng vòng lặp)
Chia bài toán thành nhiều bài toán con nhỏ hơn nữa
dùng bảng tra để lưu các kết quả trùng lặp
mở rộng số trường hợp cơ sở để thuật toán nhanh dừng hơn Incorrect 0/1 Points 7
Cho hàm đệ quy sau, những khẳng định nào sau dây là đúng
Thời gian thực hiện trong trường hợp tồi nhất là O(n)
Thời gian thực hiện trong trường hợp tồi nhất là O(n^3)
Việc chia thành 3 bài toán con hoặc nhiều hơn sẽ làm tăng tốc độ thực hiện (theo
thời gian vật lý trên máy)
Việc chia thành nhiều bài toán con sẽ làm thời gian thực hiện bị tồi đi so với chỉ
chia 2 (theo thời gian vật lý trên máy) Incorrect 0/1 Points 8
Trong đánh giá thuật toán trong trường hợp tồi nhất ta sẽ bỏ qua những yếu tố nào
bỏ qua những lệnh return sớm
bỏ qua những trường hợp của dữ liệu mà làm thuật toán dừng sớm
bỏ qua những trường hợp dữ liệu đầu vào nhỏ
bỏ qua kích thước đầu vào bài toán
bỏ qua những lệnh ít được thực hiện Incorrect 0/1 Points 9
Cho hàm đệ quy tìm đoạn con tăng dài nhất sau
Đâu là khẳng định đúng
Thời gian thực hiện là O(n^2)
Thời gian thực hiện là O(logn)
Không có khẳng định nào ở trên là đúng Correct 1/1 Points 10
Cho đoạn hàm tìm số có tần số xuất hiện lớn nhất trong mảng sau
Đâu là khẳng định đúng
Thời gian thực hiện là O(n)
Thời gian thực hiện là O(nlogn)
Thời gian thực hiện là O(logn)