wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Câu hỏi trắc nghiệm Tin học 11

Total questions: 85

Worksheet time: 1hrs 4mins

Name
Class
Date
1.

Cấu trúc dữ liệu mảng một chiều trong Python được biểu diễn bằng kiểu dữ liệu nào?

a)

Tuple

b)

Set

c)

List

d)

Dictionary

2.

Lệnh nào sau đây kiểm tra xem giá trị 7 có tồn tại trong mảng A = [1, 3, 5, 7, 9]?

a)

7 in A

b)

A.has(7)

c)

A.contains(7)

d)

A.search(7)

3.

Để thêm một phần tử vào cuối danh sách trong Python, ta dùng lệnh nào?

a)

append()

b)

insert()

c)

extend()

d)

pop()

4.

Mảng hai chiều là gì?

a)

Một chuỗi các phần tử cùng kiểu dữ liệu

b)

Một danh sách chứa các danh sách con

c)

Một bảng với dữ liệu không có cấu trúc

d)

Một danh sách các giá trị ngẫu nhiên

5.

Lệnh nào sau đây được dùng để truy cập phần tử tại hàng 2 cột 3 của ma trận A = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]?

a)

A[1][2]

b)

A[2][3]

c)

A[3][2]

d)

A[0][1]

6.

Trong Python, ta có thể duyệt qua từng phần tử của mảng hai chiều bằng lệnh nào sau đây?

a)

Một lệnh for đơn

b)

Hai lệnh for lồng nhau

c)

Hàm map()

d)

Lệnh while

7.

Để tính tổng các phần tử của một danh sách trong Python, ta sử dụng hàm nào?

a)

sum()

b)

max()

c)

min()

d)

avg()

8.

Cho danh sách A = [6, 7, 8, 9, 10]. Kết quả của lệnh print(A[-1]) là gì?

a)

8

b)

9

c)

10

d)

Lỗi

9.

Mảng hai chiều trong Python có thể được biểu diễn bằng cách nào?

a)

Dictionary chứa danh sách

b)

List chứa list

c)

Tuple chứa set

d)

Set chứa tuple

10.

Lệnh nào sau đây dùng để xoá một phần tử trong danh sách tại vị trí cụ thể?

a)

list.remove(index)

b)

list.delete(index)

c)

list.clear(index)

d)

list.pop(index)

11.

Trong nhiệm vụ 1, làm thế nào để người dùng nhập điểm kiểm tra vào chương trình?

a)

Sử dụng hàm input() để nhập từng điểm một.

b)

Sử dụng hàm input() để nhập một chuỗi

12.

Trong nhiệm vụ 1, làm thế nào để người dùng nhập điểm kiểm tra vào chương trình?

a)

Sử dụng hàm input() để nhập từng điểm một.

b)

Sử dụng hàm input() để nhập một chuỗi chứa các điểm, sau đó tách chuỗi này thành danh sách.

c)

Sử dụng vòng lặp for để lần lượt nhập từng điểm.

d)

Nhập điểm thông qua một file bên ngoài và đọc dữ liệu từ file.

13.

Cách nào là đúng để tính tổng các điểm trong danh sách marks trong nhiệm vụ 1?

a)

Sử dụng sum(marks)

b)

Sử dụng vòng lặp for để duyệt qua các phần tử của marks và cộng dồn chúng.

c)

Sử dụng hàm reduce từ thư viện functools.

d)

Sử dụng sum(marks), dùng for để duyệt qua các phần tử của marks và cộng dồn

14.

Trong nhiệm vụ 1, để tìm điểm thấp nhất và cao nhất, chương trình sử dụng phương pháp nào?

a)

Sử dụng các hàm min() và max().

b)

Duyệt qua danh sách và so sánh từng điểm với điểm nhỏ nhất và lớn nhất đã biết.

c)

Sắp xếp danh sách và lấy phần tử đầu tiên và cuối cùng.

d)

Dùng thuật toán tìm kiếm nhị phân để tìm điểm thấp nhất và cao nhất.

15.

Trong nhiệm vụ 2, để lưu trữ điểm kiểm tra của tất cả học sinh trong lớp, chương trình sử dụng cấu trúc dữ liệu nào?

a)

Mảng một chiều

b)

Mảng hai chiều

c)

Bộ từ điển

d)

Chuỗi

16.

Trong nhiệm vụ 2, làm thế nào để tính điểm trung bình kiểm tra của từng học sinh?

a)

Sử dụng hàm mean() từ thư viện statistics.

b)

Tính tổng các điểm của học sinh đó rồi chia cho số đầu điểm.

c)

Sử dụng vòng lặp để cộng dồn các điểm và chia cho tổng số đầu điểm.

d)

Tính tổng các điểm của học sinh đó rồi chia cho số đầu điểm, Sử dụng vòng lặp để cộng dồn các điểm và chia cho tổng số đầu điểm.

17.

Để tìm tên học sinh có điểm trung bình cao nhất, chương trình thực hiện hành động nào?

a)

Dùng hàm max() để so sánh điểm trung bình của tất cả học sinh.

b)

Duyệt qua danh sách điểm trung bình và lưu lại

18.

ìm tên học sinh có điểm trung bình cao nhất, chương trình thực hiện hành động nào?

a)

Dùng hàm max() để so sánh điểm trung bình của tất cả học sinh.

b)

Duyệt qua danh sách điểm trung bình và lưu lại chỉ số của học sinh có điểm cao nhất.

c)

Sắp xếp danh sách điểm trung bình theo thứ tự giảm dần.

d)

Tìm học sinh có tên xuất hiện cuối cùng trong danh sách.

19.

Để tra cứu điểm kiểm tra cụ thể của một học sinh dựa trên số thứ tự, chương trình cần thao tác gì?

a)

Duyệt qua tất cả học sinh để tìm đúng học sinh có số thứ tự đó.

b)

Dùng mảng hai chiều để tìm điểm kiểm tra của học sinh bằng cách truy cập trực tiếp phần tử thứ n trong hàng tương ứng.

c)

In ra tất cả điểm của học sinh đó.

d)

Cả A và B đều đúng.

20.

Để kiểm tra và tra cứu điểm thứ n của một học sinh trong mảng một chiều, chương trình nên làm gì?

a)

Dùng hàm marks[n] để truy cập điểm.

b)

Kiểm tra giá trị n có hợp lệ không trước khi truy cập phần tử.

c)

Duyệt toàn bộ mảng để tìm phần tử thứ n.

d)

Tra cứu điểm đầu tiên và cuối cùng để so sánh với n.

21.

Chương trình sẽ làm gì nếu phát hiện n vượt quá số lượng đầu điểm trong mảng một chiều?

a)

Hiển thị thông báo lỗi và yêu cầu nhập lại n.

b)

Lấy phần tử đầu tiên.

c)

Lấy phần tử cuối cùng.

d)

Thêm một đầu điểm mới vào mảng.

22.

Để tra cứu điểm kiểm tra cụ thể của một học sinh dựa trên số thứ tự, chương trình cần thao tác gì?

a)

Duyệt qua tất cả học sinh để tìm đúng học sinh có số thứ tự đó.

b)

Dùng mảng hai chiều để tìm điểm kiểm tra của học sinh bằng cách truy cập trực tiếp phần tử thứ n trong hàng tương ứng.

c)

In ra tất cả điểm của học sinh đó.

d)

Duyệt qua tất cả học sinh để tìm đúng học sinh có số thứ tự đó, dùng mảng hai chiều để tìm điểm kiểm tra của học sinh bằng cách truy cập trực tiếp phần tử.

23.

Bài toán tìm kiếm tuần tự thực hiện bao nhiêu lần duyệt để tìm ra phần tử có

4 lines
24.

Bài toán tìm kiếm tuần tự thực hiện bao nhiêu lần duyệt để tìm ra phần tử có giá trị bằng 47 trong dãy A = [1, 91, 45, 23, 67, 9, 10, 47, 90, 46, 86]?

a)

4

b)

6

c)

8

d)

7

25.

Trong tìm kiếm tuần tự, khi nào ta có thể tìm thấy kết quả ngay với ít bước nhất?

a)

Khi phần tử cần tìm ở giữa danh sách

b)

Khi phần tử cần tìm ở cuối danh sách

c)

Khi phần tử cần tìm không có trong danh sách

d)

Khi phần tử cần tìm là phần tử đầu tiên

26.

Trong tìm kiếm tuần tự, khi nào cần nhiều bước nhất để tìm ra kết quả?

a)

Khi phần tử cần tìm ở giữa danh sách

b)

Khi phần tử cần tìm là phần tử cuối cùng

c)

Khi phần tử cần tìm không có trong danh sách

d)

Khi phần tử cần tìm là phần tử đầu tiên

27.

Thuật toán tìm kiếm nhị phân chỉ có thể áp dụng khi danh sách dữ liệu đã được sắp xếp như thế nào?

a)

Tăng dần

b)

Giảm dần

c)

Không cần sắp xếp

d)

Sắp xếp theo bất kỳ thứ tự nào

28.

Với thuật toán tìm kiếm nhị phân, cần bao nhiêu lần duyệt để tìm phần tử có giá trị bằng 34 trong dãy A = [0, 4, 9, 10, 12, 14, 17, 18, 20, 31, 34, 67]?

a)

2

b)

3

c)

4

d)

5

29.

Với thuật toán tìm kiếm tuần tự, cần duyệt bao nhiêu phần tử để tìm ra phần tử có giá trị bằng 34 trong dãy A = [0, 4, 9, 10, 12, 14, 17, 18, 20, 31, 34, 67]?

a)

6

b)

10

c)

12

d)

11

30.

Thuật toán tìm kiếm nhị phân có ưu điểm gì so với tìm kiếm tuần tự?

a)

Đơn giản hơn trong lập trình

b)

Có thể áp dụng cho mọi danh sách

c)

Tốc độ nhanh hơn khi danh sách đã sắp xếp

d)

Không cần phải sắp xếp danh sách trước khi tìm

31.

Cho dãy A = [1, 3, 4, 7, 8, 9, 10]. Cần tìm giá trị K = 9 bằng thuật toán tìm kiếm nhị phân, chỉ số nào sẽ được trả về?

a)

3

b)

4

c)

5

d)

6

32.

Cho dãy A = [1, 3, 4, 7, 8, 9, 10]. Cần tìm giá trị K = 9 bằng thuật toán tìm kiếm nhị phân, chỉ số nào sẽ được trả về?

a)

3

b)

4

c)

5

d)

6

33.

Thuật toán tìm kiếm tuần tự có thể áp dụng trong trường hợp nào?

a)

Dữ liệu đã được sắp xếp

b)

Dữ liệu chưa được sắp xếp

c)

Chỉ cho các dãy số

d)

Chỉ cho các dãy chữ cái

34.

Nếu dãy số đã được sắp xếp giảm dần, thuật toán tìm kiếm nhị phân sẽ hoạt động như thế nào?

a)

Thuật toán vẫn hoạt động bình thường

b)

Phải thay đổi thuật toán để so sánh ngược lại

c)

Không thể áp dụng tìm kiếm nhị phân

d)

Chỉ áp dụng cho dãy số ngắn

35.

Ý tưởng chính của thuật toán sắp xếp chèn là gì?

a)

Tìm phần tử nhỏ nhất và chuyển nó vào vị trí đầu tiên.

b)

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ự.

c)

Chèn từng phần tử vào đúng vị trí trong một mảng con đã sắp xếp.

d)

Chia mảng thành hai phần và sắp xếp từng phần đệ quy.

36.

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)?

a)

0

b)

n-1

c)

n(n−1)/2

d)

n - 2

37.

Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chèn là gì?

a)

O(n)

b)

O(n log n)

c)

O(n^2)

d)

O(1)

38.

Trong thuật toán sắp xếp chọn, điều gì xảy ra trong mỗi lần lặp?

a)

Phần tử lớn nhất được chuyển về cuối mảng.

b)

Phần tử nhỏ nhất được đưa vào đúng vị trí.

c)

Mỗi phần tử được chèn vào đúng vị trí của nó.

d)

Các phần tử liền kề được hoán đổi để sắp xếp.

39.

Độ 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ì?

a)

O(n)

b)

O(n^2)

c)

O(n log n)

d)

O(1)

40.

Thuật toán nào sau đây không sử dụng so sánh giữa các phần tử?

a)

Sắp xếp chèn

b)

Sắp xếp chọn

c)

Sắp xếp đếm

d)

Sắp xếp nổi b

41.

n là gì?

a)

O(n)

b)

O(n^2)

c)

O(n \log n)

d)

O(1)

42.

Thuật toán nào sau đây không sử dụng so sánh giữa các phần tử?

a)

Sắp xếp chèn

b)

Sắp xếp chọn

c)

Sắp xếp đếm

d)

Sắp xếp nổi bọt

43.

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ì?

a)

Tìm phần tử lớn nhất và đưa nó về đúng vị trí.

b)

Tìm phần tử nhỏ nhất và đưa nó về đúng vị trí.

c)

So sánh và hoán đổi các phần tử liền kề nếu chúng không đúng thứ tự.

d)

Chia mảng thành các phần nhỏ hơn để sắp xếp.

44.

Trường hợp tốt nhất của thuật toán sắp xếp nổi bọt là gì?

a)

Mảng được sắp xếp ngược lại.

b)

Mảng đã được sắp xếp.

c)

Mảng chứa tất cả các phần tử giống nhau.

d)

Mảng chỉ có hai phần tử.

45.

Phát biểu nào sai về thuật toán sắp xếp nổi bọt?

a)

Nó là thuật toán ổn định, có nghĩa là nó giữ nguyên thứ tự của các phần tử bằng nhau.

b)

Nó là thuật toán tại chỗ, tức là nó sử dụng bộ nhớ phụ không đáng kể.

c)

Nó luôn thực hiện số lượng so sánh giống nhau, bất kể thứ tự của đầu vào.

d)

Độ phức tạp thời gian xấu nhất của nó là O(n^2).

46.

Trong thuật toán sắp xếp chèn, thuật toán xác định vị trí để chèn phần tử như thế nào trong mỗi lần lặp?

a)

Bằng cách tìm phần tử ở giữa và chèn vào đó.

b)

Bằng cách dịch chuyển các phần tử lớn hơn phần tử hiện tại sang bên phải.

c)

Bằng cách hoán đổi các phần tử liền kề cho đến khi phần tử hiện tại ở đúng vị trí.

d)

Bằng cách chia mảng ra đệ quy.

47.

Thuật toán nào phù hợp nhất để sắp xếp số lượng các mặt hàng trong kho theo thứ tự tăng dần?

a)

Thuật toán nổi bọt

b)

Thuật toán sắp xếp chọn

c)

Thuật toán sắp xếp chèn

d)

Thuật toán sắp xếp nhan

48.

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í?

a)

Để tìm vị trí chính xác của phần tử mới

b)

Để giảm số lần so sánh

c)

Để giảm số lần trao đổi

49.

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í?

a)

Để tìm vị trí chính xác của phần tử mới

b)

Để giảm số lần so sánh

c)

Để giảm số lần trao đổi

d)

Để tăng tốc độ sắp x

50.

Trong nhiệm vụ 2, thuật toán nào được sử dụng để sắp xếp điểm trung bình môn Tin học theo thứ tự giảm dần?

a)

Thuật toán sắp xếp chèn

b)

Thuật toán sắp xếp chọn

c)

Thuật toán nổi bọt

d)

Thuật toán sắp xếp nhan

51.

Dòng lệnh nào trong nhiệm vụ 1 dùng để thêm số lượng mặt hàng vào danh sách soluong_ds?

a)

soluong_ds.append(int(line))

b)

soluong_ds = [int(line)]

c)

soluong_ds.insert(line)

d)

soluong_ds.remove(line)

52.

Trong thuật toán sắp xếp chọn, mục đích của biến Max là gì?

a)

Lưu giá trị nhỏ nhất của dãy

b)

Lưu chỉ số của phần tử có giá trị lớn nhất trong dãy

c)

Lưu chỉ số của phần tử có giá trị nhỏ nhất trong dãy

d)

Xác định chỉ số cuối của dãy

53.

Trong nhiệm vụ 1, hàm InsertionSort(soluong_ds) thực hiện chức năng gì?

a)

Thực hiện sắp xếp nổi bọt danh sách

b)

Sắp xếp danh sách theo thứ tự tăng dần

c)

Sắp xếp danh sách theo thứ tự giảm dần

d)

Đọc dữ liệu từ tệp và in danh sác

54.

Khi nào chúng ta sử dụng thuật toán sắp xếp nổi bọt?

a)

Khi số lượng phần tử trong danh sách rất lớn

b)

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

c)

Khi không yêu cầu hiệu suất cao

d)

Khi danh sách đã được sắp xếp hoàn toàn

55.

Trong nhiệm vụ 2, việc sắp xếp điểm trung bình theo thứ tự giảm dần có thể thực hiện bằng cách nào?

a)

Tìm phần tử nhỏ nhất và đưa về đầu danh sách

b)

Tìm phần tử lớn nhất và đưa về cuối danh sách

c)

Tìm phần tử lớn nhất và đưa về đầu danh sách

d)

Không cần thực hiện sắp xếp

56.

Dòng lệnh nào sẽ hiển thị danh sách điểm trung bình đã sắp xếp từ cao đến thấp?

4 lines
57.

Dòng lệnh nào sẽ hiển thị danh sách điểm trung bình đã sắp xếp từ cao đến thấp?

a)

print('Danh sách điểm theo thứ tự tăng dần là:')

b)

print('Danh sách điểm theo thứ tự giảm dần là:')

c)

print('Danh sách điểm trung bình là:')

d)

print('Danh sách điểm đã sắp xếp:')

58.

Phát biểu nào sau đây đúng về thuật toán chèn trong sắp xếp danh sách?

a)

Luôn tìm phần tử lớn nhất và đưa về đầu danh sách

b)

Thực hiện dịch chuyển phần tử lớn hơn sang phải để tạo khoảng trống cho phần tử chèn vào

c)

Thực hiện hoán đổi phần tử ở vị trí đầu và cuối

d)

Thực hiện sắp xếp dãy theo thứ tự ngẫu nhiên

59.

Phương pháp làm mịn dần trong thiết kế chương trình là gì?

a)

Phương pháp làm giảm số lượng mã lệnh trong chương trình

b)

Phương pháp chi tiết hóa các bước từ ý tưởng tổng quan đến từng hành động cụ thể

c)

Phương pháp kiểm tra lỗi sau khi viết xong chương trình

d)

Phương pháp tổ chức dữ liệu theo thứ tự tăng dần

60.

Khi thiết kế chương trình theo phương pháp làm mịn dần, bước đầu tiên cần thực hiện là gì?

a)

Xác định đầu vào và đầu ra của bài toán

b)

Viết toàn bộ chương trình

c)

Kiểm tra lỗi

d)

Thực hiện từng thao tác cụ thể

61.

Trong thuật toán sắp xếp chèn, tại bước đầu tiên của thiết kế, công việc nào được thực hiện?

a)

Tạo biến mới để lưu giá trị cần chèn

b)

Duyệt từ phần tử thứ hai đến phần tử cuối của dãy

c)

Sắp xếp các phần tử theo thứ tự giảm dần

d)

Tạo danh sách mới từ danh sách cũ

62.

Trong bước làm mịn "Chèn A[i] vào đúng vị trí", thao tác nào dưới đây là đúng?

a)

So sánh A[i] với tất cả phần tử trong dãy

b)

So sánh A[i] với các phần tử bên phải của nó

c)

Chuyển các phần tử lớn hơn A[i] sang phải

d)

Chèn A[i] vào vị trí đầu tiên của dãy

63.

Sau khi chèn một phần tử vào vị trí đúng trong dãy sắp xếp chèn, ta có

4 lines
64.

Sau khi chèn một phần tử vào vị trí đúng trong dãy sắp xếp chèn, ta có thể khẳng định gì?

a)

Dãy đã hoàn toàn sắp xếp

b)

Các phần tử từ A[0] đến A[i] đã được sắp xếp

c)

Các phần tử từ A[i] đến A[n-1] đã được sắp xếp

d)

Chỉ phần tử A[i] được sắp xếp

65.

Trong chương trình đếm số cặp nghịch đảo, điều kiện kiểm tra nghịch đảo của cặp (i, j) là gì?

a)

A[i] < A[j]

b)

i > j

c)

A[i] > A[j] và i < j

d)

A[i] = A[j]

66.

Câu lệnh nào dùng để thiết lập biến value lưu trữ giá trị của A[i] trong sắp xếp chèn?

a)

value = A[i]

b)

value = A[j+1]

c)

A[i] = value

d)

A[j+1] = value

67.

Phương pháp làm mịn dần trong thiết kế chương trình giúp gì cho lập trình viên?

a)

Tăng tốc độ chạy chương trình

b)

Giảm dung lượng bộ nhớ chương trình

c)

Làm rõ từng bước của chương trình, dễ dàng chuyển ý tưởng thành câu lệnh

d)

Tự động phát hiện lỗi cú pháp

68.

Trong chương trình đếm số cặp nghịch đảo, tại sao vòng lặp thứ hai chỉ duyệt từ i + 1 đến n - 1?

a)

Để tiết kiệm thời gian và tránh lặp lại các cặp đã kiểm tra

b)

Vì chỉ số j phải lớn hơn chỉ số i

c)

Để kiểm tra mọi phần tử trong dãy

d)

Vì cặp (i, j) không quan trọng

69.

Sau khi hoàn thành phương pháp làm mịn dần, kết quả cuối cùng là:

a)

Một chương trình hoàn chỉnh với các bước chi tiết

b)

Một thuật toán tổng quan mà không có mã lệnh cụ thể

c)

Chỉ là một ý tưởng thiết kế ban đầu

d)

Một báo cáo về quá trình thiết kế

70.

Sau khi thực hiện đoạn mã dưới đây, mảng a và mảng b nhận kết quả nào trong các phương án được cho?

a)

a = [4,5,6] và b = [4,5,6]

b)

a = [4,5,6] và b = [1,2,3]

c)

a = [1,2,3] và b = [4,5,6]

d)

a = [1,2,3] và b = [1,2,3]

71.

Sau khi thực hiện đoạn mã dưới đây, mảng b là kết quả nào sau đây? 01. a = [1,2,3] 02. b = a 03. a = [4,5,6]

a)

a = [4,5,6] và b = [4,5,6]

b)

a = [4,5,6] và b = [1,2,3]

c)

a = [1,2,3] và b = [4,5,6]

d)

a = [1,2,3] và b = [1,2,3]

72.

Sau khi thực hiện đoạn mã dưới đây, mảng b là kết quả nào sau đây? 01. a = [3,4,6,2,7] 02. b = a[0:]

a)

b = [3,4,6,2,7]

b)

b = [3]

c)

b = [3,4]

d)

b = []

73.

Sau khi thực hiện đoạn mã dưới đây, mảng b là kết quả nào sau đây? 01. a = [3,4,6,2,7] 02. b = a[2:1]

a)

b = [6]

b)

b = [6,2]

c)

b = [2]

d)

b = []

74.

Sau khi thực hiện đoạn mã dưới đây, mảng b là kết quả nào sau đây? 01. a = [3,4,6,2,7] 02. b = a[:]

a)

b = [3,4,6,2,7]

b)

b = [3]

c)

b = [7]

d)

b = []

75.

Trong thuật toán "Sắp xếp Chèn", xét dãy con a[0]...a[i-1] có thứ tự tăng dần (không giảm). Cần chèn phần tử a[i] vào dãy con này sao cho cuối cùng dãy con a[0]...a[i] có thứ tự tăng dần, phải thực hiện công việc nào sau đây?

a)

a[i] được chèn vào trước a[0].

b)

a[i] được chèn vào chính giữa dãy con a[0]...a[i-1].

c)

a[i] được chèn vào ngay sau a[j] với a[j] vừa nhỏ hơn hoặc bằng a[i].

d)

a[i] được chèn vào vị trí bất kì trong dãy con a[0]...a[i]

76.

Trong thuật toán "Sắp xếp Nổi bọt" để sắp xếp dãy a[0]...a[i-1] tăng dân (không giảm), khi xét hai phần tử kế tiếp nhau a[j] và a[j+1], đoạn mã nào sau đây là đúng

a)

if a[j] > a[j+1]: a[j],a[j+1] = a[j+1],a[j]

b)

if a[j] < a[j+1]: a[j] = a[j+1]

c)

if a[j] > a[j+1]: a[j],a[j-1] = a[j-1],a[j]

d)

if a[j] < a[j+1]: a[j],a[j-1] = a[j-1],a[j]

77.

Cho mảng a = [4,1,6,3,2,9,7,5]. Theo thuật toán "Sắp xếp Chèn", sau ba bước lặp thì mảng a là:

a)

a= [1,4,6,3,2,9,7,5]

b)

a = [1,2,6,3,4,9,7,5]

c)

a= [1,3,4,6,2,9,7,5]

d)

a = [1,2,2,3,6,9,7,5]

78.

Cho mảng a = [4,1,6,3,2,9,7,5].Theo thuật toán "Sắp xếp Chọn", sau ba bước lặp thì mảng a là:

4 lines
79.

Cho mảng a = [4,1,6,3,2,9,7,5].Theo thuật toán "Sắp xếp Chọn", sau ba bước lặp thì mảng a là:

a)

a = [1,4,6,3,2,9,7,5]

b)

a = [1,2,3,6,4,9,7,5]

c)

a= [1,2,3,4,6,9,7,5]

d)

a = [1,2,3,4,5,6,7,9]

80.

Cho mảng a = [4,1,6,3,2,9,7,5].Theo thuật toán "Sắp xếp Nổi bọt", sau ba bước lặp thì mảng a là:

a)

a = [1,2,3,4,5,6,7,9]

b)

a = [1,2,3,4,5,7,6,9]

c)

a = [1,2,3,4,6,9,7,5]

d)

a = [1,4,3,2,6,7,5,9]

81.

Cho mảng a = [4,6,9,3,7,1,2,5].Theo thuật toán "Sắp xếp Chèn", sau bao nhiêu bước lặp thì mảng a = [3,4,6,7,9,1,2,5]?

a)

1

b)

2

c)

3

d)

4

82.

Cho mảng a = [4,6,9,3,7,1,2,5]. Theo thuật toán "Sắp xếp Chọn", sau bao nhiêu bước lặp thì mảng a = [1,2,3,9,7,4,6,5]?

a)

1

b)

2

c)

3

d)

4

83.

Cho mảng a = [4,6,9,3,7,1,2,5]. Theo thuật toán "Sắp xếp Nổi bọt", sau bao nhiêu bước lặp thì mảng a = [4,3,6,1,2,5,7,9]?

a)

1

b)

2

c)

3

d)

4

84.

Khi sắp xếp mảng a có n phần tử, trường hợp tốt nhất của thuật toán "Sắp xếp Chèn" (thời gian thực hiện nhanh nhất) là:

a)

Mảng a có ít phần tử.

b)

Mảng a có thứ tự tăng dần (không giảm).

c)

Mảng a có thứ tự giảm dần (không tăng).

d)

Mảng a có thứ tự bất kì.

85.

Khi sắp xếp mảng a có n phần tử, trường hợp xấu nhất của thuật toán "Sắp xếp Chèn" (thời gian thực hiện chậm nhất) là:

a)

Mảng a có nhiều phần tử.

b)

Mảng a có thứ tự tăng dần (không giảm).

c)

Mảng a có thứ tự giảm dần (không tăng).

d)

Mảng a có thứ tự bất kì.