Font size
WorksheetsDC Tin CKII
Total questions: 54
Worksheet time: 30mins
Ý tưởng chính của thuật toán sắp xếp chèn là gì?
Tìm phần tử nhỏ nhất và chuyển nó vào vị trí đầu tiên.
So sánh từng cặp phần tử liền kề và hoán đổi nếu chúng không đúng thứ tự.
Chèn từng phần tử vào đúng vị trí trong một mảng con đã sắp xếp.
Chia mảng thành hai phần và sắp xếp từng phần đệ quy.
Trong thuật toán sắp xếp chèn, có bao nhiêu phép so sánh trong trường hợp tốt nhất (khi mảng đã được sắp xếp)?
0
n−1
n(n−1)2
n2n
Trong thuật toán sắp xếp chọn, điều gì xảy ra trong mỗi lần lặp?
Phần tử lớn nhất được chuyển về cuối mảng.
Phần tử nhỏ nhất được đưa vào đúng vị trí.
Mỗi phần tử được chèn vào đúng vị trí của nó.
Các phần tử liền kề được hoán đổi để sắp xếp.
Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp chọn là gì?
O(n)
O(n^2)
O(nlog n)
O(1)
Mục đích của vòng lặp bên trong trong thuật toán sắp xếp nổi bọt là gì?
Tìm phần tử lớn nhất và đưa nó về đúng vị trí.
Tìm phần tử nhỏ nhất và đưa nó về đúng vị trí.
So sánh và hoán đổi các phần tử liền kề nếu chúng không đúng thứ tự.
Chia mảng thành các phần nhỏ hơn để sắp xếp.
Trường hợp tốt nhất của thuật toán sắp xếp nổi bọt là gì?
Mảng được sắp xếp ngược lại.
Mảng đã được sắp xếp.
Mảng chứa tất cả các phần tử giống nhau.
Mảng chỉ có hai phần tử.
Thuật toán sắp xếp nổi bọt sắp xếp danh sách bằng cách nào?
Thay thế.
Thay đổi.
Hoán đổi.
Cả A, B và C.
Trong thuật toán sắp xếp nổi bọt, ta thực hiện hoán đổi giá trị các phần tử liền kề khi nào?
Giá trị của chúng tăng.
Giá trị của chúng giảm.
Giá trị của chúng không đúng thứ tự.
Giá trị của chúng không bằng nhau.
Trong thuật toán sắp xếp nổi bọt thì dấu hiệu để biết dãy chưa sắp xếp xong là gì?
Vẫn còn cặp phần tử liền kế không đúng thứ tự mong muốn.
Dãy chưa được sắp xếp tăng dần.
Dãy chưa được sắp xếp giảm dần.
Cả A, B và C.
Cho dãy số: 17, 2, 30, 11, 80, 41. Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy trên tăng dần thì sau bao nhiêu lượt đổi chỗ thì thuật toán kết thúc?
2
3
4
5
Cho dãy số: 6, 4, 5, 3. Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy tăng dần thì sau bao nhiêu vòng lặp thì thuật toán kết thúc?
2
3
4
5
Cho dãy số a như hình dưới đây Sử dụng thuật toán sắp xếp chọn để sắp xếp dãy số theo thứ tự giảm dần thì sau bao nhiêu lượt đổi chỗ thì thuật toán kết thúc?
2
3
4
5
Thuật toán sắp xếp chọn sẽ so sánh các phần tử ở vị trí nào?
So sánh phần tử ở vị trí được xét với các phần tử phía trước.
So sánh phần tử ở vị trí được xét với các phần tử phía sau.
So sánh phần tử ở vị trí được xét với các phần tử liền kề.
So sánh phần tử ở vị trí được xét với các phần tử đầu tiên.
Sau vòng lặp thứ nhất của thuật toán sắp xếp chọn, phương án nào đúng?
Phần tử có giá trị nhỏ nhất trong dãy được tìm thấy và đổi chỗ cho phần tử đứng đầu dãy.
Phần tử có giá trị lớn nhất trong dãy được tìm thấy và đổi chỗ cho phần tử đứng đầu dãy.
Các phần tử liền kề được hoán đổi.
Phần tử có giá
Nếu sử dụng thuật toán sắp xếp chọn để sắp xếp dãy số 8, 22, 7, 19, 5 theo thứ tự tăng dần thì số lần thực hiện thao tác hoán đổi giá trị trong vòng lặp thứ nhất là:
1
2
4
3
Trong thuật toán sắp xếp chèn, tại sao chúng ta phải dịch chuyển các phần tử lớn hơn giá trị đang xét lên một vị trí?
Để tìm vị trí chính xác của phần tử mới
Để giảm số lần so sánh
Để giảm số lần trao đổi
Để tăng tốc độ sắp x
Dòng lệnh nào dùng để thêm số lượng mặt hàng vào danh sách soluong_ds?
soluong_ds.append(int(line))
soluong_ds = [int(line)]
soluong_ds.insert(line)
soluong_ds.remove(line)
Khi nào chúng ta sử dụng thuật toán sắp xếp nổi bọt?
Khi số lượng phần tử trong danh sách rất lớn
Khi cần sắp xếp một danh sách ngẫu nhiên có số lượng nhỏ hoặc trung bình
Khi không yêu cầu hiệu suất cao
Khi danh sách đã được sắp xếp hoàn toàn
Cho dãy A= [5, 8, 1, 0, 10, 4, 3] Nếu sử dụng thuật toán sắp xếp nổi bọt để sắp xếp dãy tăng dần thì sau bao nhiêu vòng lặp thì thuật toán kết thúc?
3
4
5
6
Nếu sử dụng thuật toán sắp xếp chọn để sắp xếp dãy số 11, 22, 8, 27, 3 theo thứ tự tăng dần thì số lần thực hiện thao tác hoán đổi giá trị trong vòng lặp thứ nhất là:
2
3
4
1
Câu 21: Cho dãy số: 15, 1, 31, 9, 78, 42. Nếu sử dụng thuật toán sắp xếp chọn để sắp xếp dãy trên tăng dần thì sau bao nhiêu lượt đổi chỗ thì thuật toán kết thúc?
2
3
4
5
Câu 22: Cho dãy số: 15, 1, 31, 9, 78, 42. Nếu sử dụng thuật toán sắp xếp chọn để sắp xếp dãy trên tăng dần thì sau bao nhiêu lượt đổi chỗ thì thuật toán kết thúc?
2
3
4
5
Câu 23: Áp dụng thuật toán sắp xếp chọn cho dãy số: A [4, 6, 1, 3, 10, 7] Thứ tự các phần tử trong dãy như thế nào sau vòng lặp đầu tiên?
3, 1, 4, 6, 10, 7
1, 4, 6, 3, 10, 7
1, 3, 4, 6, 7, 10
1, 6, 4, 3, 10, 7
Câu 24: Thứ tự các phần tử trong dãy số sau ba vòng lặp liên tiếp của một thuật toán sắp xếp được mô tả như sau:
1, 4, 10, 9, 3, 7, 12, 20
1, 3, 10, 9, 4, 7, 12, 20
1, 3, 4, 9, 10, 7, 12, 20
Thuật toán sắp xếp được sử dụng là:
Thuật toán sắp xếp chọn
Thuật toán sắp xếp chèn
Thuật toán sắp xếp nổi bọt
Không có đáp án đúng
Câu 25: Chương trình chạy phát sinh lỗi ngoại lệ ZeroDivision, nên xử lí như thế nào?
Kiểm tra lại giá trị số chia
Kiểm tra lại chỉ số trong mảng
Kiểm tra giá trị của số bị chia
Kiểm tra kiểu dữ liệu nhập vào
Câu 26: Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào?
Kiểm tra lại giá trị số chia
Kiểm tra lại chỉ số trong mảng
Kiểm tra giá trị của số bị chia
Kiểm tra kiểu dữ liệu nhập vào
Câu 27: Chương trình sau có lỗi ở dòng lệnh nào?
n = int(input("Nhập số tự nhiên n: "))
s = 0
for i in range(10):
s = s + i
1
2
4
Không có lỗi
Chương trình sau mắc lỗi gì?
def func(n):
a, b = 0, 1
while a < n:
print(a, end = ' ')
a, b = b, a + b
print()
print(func(1000))
TypeError.
ZeroDivisionError.
Syntax Error.
NameError.
Chương trình chạy phát sinh lỗi ngoại lệ NameError, nên xử lí như thế nào?
Kiểm tra lại chỉ số trong mảng.
Kiểm tra lại tên các biến và hàm.
Kiểm tra giá trị của số bị chia.
Kiểm tra kiểu dữ liệu nhập vào.
Cho đoạn chương trình sau:
a = int(input()
print(a)
Lỗi trong chương trình trên là lỗi:
Cú pháp.
Ngữ nghĩa
Lỗi sai kiểu dữ liệu
Tất cả các lỗi trên.
Chạy thử chương trình có mục đích gì?
Tăng tốc độ xử lý của chương trình.
Phát hiện lỗi trong mã nguồn.
Tối ưu hóa thuật toán.
Tăng cường bảo mật cho chương trình.
Độ phức tạp thời gian của thuật toán được xác định bởi yếu tố nào?
Kích thước dữ liệu đầu vào
Ngôn ngữ lập trình
Kỹ năng lập trình viên
Thời gian thực hiện cụ thể của thuật toán
Độ phức tạp thời gian tuyến tính được ký hiệu là gì?
O(1)
O(log n)
O(n)
O(n^2)
Thuật toán nào sau đây có độ phức tạp thời gian hằng số?
Tìm kiếm một phần tử trong danh sách
Tính tổng dãy số từ 1 đến n bằng công thức
Sắp xếp một danh sách số
Tính giai thừa của n
Trong trường hợp nào thuật toán có thể có độ phức tạp thời gian tuyến tính?
Tìm số lớn nhất trong một dãy số không tăng
Sắp xếp một danh sách số ngẫu nhiên
Tìm kiếm một phần tử cụ thể trong danh sách
Tính giai thừa của một số
Khi nào độ phức tạp thời gian của thuật toán là O(n^2)?
Khi thực hiện một lần lặp qua n phần tử
Khi thực hiện hai vòng lặp lồng nhau qua n phần tử
Khi thực hiện tìm kiếm nhị phân
Khi thực hiện phép cộng n số
Đặc điểm nào sau đây không thuộc về độ phức tạp thời gian hằng số?
T(n) = C với C là một hằng số
Số phép toán thực hiện không phụ thuộc vào kích thước n
Được ký hiệu là O(1)
Số phép toán tăng theo kích thước n
Quy tắc cộng trong tính độ phức tạp thời gian của thuật toán được áp dụng trong trường hợp nào?
Khi có vòng lặp lồng nhau
Khi thực hiện hai chương trình nối tiếp nhau
Khi thực hiện phép toán nhân
Khi thực hiện phép toán chia
Để tính độ phức tạp thời gian của chương trình với các phép toán lồng nhau, ta áp dụng quy tắc nào?
Quy tắc cộng
Quy tắc nhân
Quy tắc chia
Quy tắc cộng và chia
Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự LinearSearch(A, K) là:
O(1)
O(n)
O(log n)
O(n^2)
Độ phức tạp thời gian của thuật toán sắp xếp chọn SelectionSort(A) là:
O(n)
O(log n)
O(n^2)
O(n log n)
Độ phức tạp thời gian của thuật toán sắp xếp nổi bọt BubbleSort(A) là:
O(n)
O(n^2)
O(n log n)
O(log n)
Trong các thuật toán tìm kiếm tuần tự, thời gian thực hiện tối đa sẽ là bao nhiêu đối với mảng kích thước n?
O(n)
O(log n)
O(n^2)
O(1)
Khi SelectionSort(A) thực hiện một phép đổi chỗ tại dòng cuối, phép tính này sẽ tốn:
1 đơn vị thời gian
2 đơn vị thời gian
3 đơn vị thời gian
4 đơn vị thời gian
Cho dãy A = [5, 8, 1, 0, 10, 4, 3], thuật toán sắp xếp chèn sẽ hoạt động như thế nào?
Sắp xếp từng phần tử vào vị trí đúng trong dãy con đã sắp xếp.
Đổi chỗ phần tử nhỏ nhất trong dãy còn lại với phần tử đang xét.
Kiểm tra từng cặp phần tử liền kề và đổi chỗ nếu không đúng thứ tự.
So sánh từng phần tử và hoán đổi nếu chúng không đúng vị trí.
Trong thuật toán sắp xếp chọn, điều gì sẽ xảy ra ở mỗi bước lặp?
Tìm phần tử lớn nhất trong dãy chưa sắp xếp và đổi chỗ với phần tử cuối cùng.
Tìm phần tử nhỏ nhất trong dãy chưa sắp xếp và đổi chỗ với phần tử đang xét.
So sánh từng cặp phần tử liền kề và đổi chỗ nếu cần thiết.
Chèn phần tử đang xét vào vị trí đúng trong dãy con đã sắp xếp.
Trong chương trình sắp xếp điểm trung bình của học sinh theo thứ tự giảm dần, thuật toán sắp xếp chọn thực hiện như thế nào?
Sắp xếp từng phần tử từ đầu đến cuối danh sách
Tìm phần tử nhỏ nhất và di chuyển lên đầu
Tìm phần tử lớn nhất và đặt lên đầu danh sách
Đổi chỗ tất cả các phần tử
Thuật toán nào sau đây có độ phức tạp thời gian hằng số?
Tính tổng dãy số bằng cách cộng dồn từng số.
Tính tổng dãy số bằng công thức tính tổng cấp số cộng S = n(n+1)2
Tìm kiếm một phần tử trong danh sách đã sắp xếp bằng cách sử dụng thuật toán tìm kiếm
d) Sắp xếp một dãy số bằng thuật toán sắp xếp nổi bọt (bubble sort)
Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự LinearSearch(A, K) là gì?
O(1)
O(logn)
O(n)
O(n^2)
Độ phức tạp thời gian của thuật toán sắp xếp chọn SelectionSort(A) là gì?
O(1)
O(n)
O(nlogn)
O(n^2)
Độ phức tạp thời gian của chương trình với tổng thời gian tính toán là T(n)=n+3, được đánh giá là:
O(1)
O(log n)
O(n)
O(n²)
Độ phức tạp thời gian của chương trình với tổng thời gian tính toán là T(n) = n² + 3, được đánh giá là:
O(n)
O(n²)
O(log n)
O(1)
Mục đích chính của việc sử dụng các bộ dữ liệu kiểm thử là gì?
Chứng minh tính đúng đắn tuyệt đối của chương trình.
Kiểm tra độ tin cậy của chương trình bằng cách phát hiện lỗi có thể có.
Đánh giá tốc độ thực thi của chương trình.
Đảm bảo chương trình tiết kiệm bộ nhớ tối đa.
Trong chương trình sắp xếp các mặt hàng trong kho theo số lượng tăng dần, bước nào là cần thiết để thực hiện sắp xếp chèn?
So sánh từng phần tử với phần tử liền sau nó
Tìm vị trí đúng của từng phần tử trong dãy đã sắp xếp
Di chuyển phần tử lớn nhất lên đầu danh sách
In ra số lượng mặt hàng theo thứ tự ngẫu nhiên
