Câu hỏi:
22/07/2024 155
Viết chương trình tìm số lớn nhất trong dãy số sau:
A= [1, 3, 9, 8, 10, 19, 27, 11, 17].
Viết chương trình tìm số lớn nhất trong dãy số sau:
A= [1, 3, 9, 8, 10, 19, 27, 11, 17].
Trả lời:
Chúng ta có thể áp dụng ý tưởng của thuật toán tìm kiếm tuần tự để tìm ra số lớn nhất trong dãy số. Chúng ta lần lượt duyệt từng phần tử trong dãy số và so sánh phần tử này với phần tử lớn nhất hiện tại (phần tử lớn nhất trong các phần tử đã duyệt). Chương trình tìm kiếm phần tử lớn nhất có thể được viết như sau:
Chúng ta có thể áp dụng ý tưởng của thuật toán tìm kiếm tuần tự để tìm ra số lớn nhất trong dãy số. Chúng ta lần lượt duyệt từng phần tử trong dãy số và so sánh phần tử này với phần tử lớn nhất hiện tại (phần tử lớn nhất trong các phần tử đã duyệt). Chương trình tìm kiếm phần tử lớn nhất có thể được viết như sau:
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Trong các câu lệnh sau, câu lệnh nào được dùng để mở và ghi dữ liệu vào
têp "data.inp"?
A. F = openRead("data.inp").
C. F = open("data.inp", "w").
B. F = openWrite("data.inp").
D. F = open("data.inp","r").
Trong các câu lệnh sau, câu lệnh nào được dùng để mở và ghi dữ liệu vào
têp "data.inp"?
A. F = openRead("data.inp").
C. F = open("data.inp", "w").
B. F = openWrite("data.inp").
D. F = open("data.inp","r").
Câu 2:
Mô tả nào sau đây là đúng nhất cho thuật toán tìm kiếm tuần tự?
A. Sắp xếp các phần tử trong mảng theo thứ tự, sau đó lần lượt kiểm tra từng phần tử.
B. Sắp xếp các phần tử trong mảng theo thứ tự, chia mảng dữ liệu thành hai nửa. Kiểm tra phần tử ở giữa để xem cần tiếp tục tìm kiếm ở nửa bên trái hay nửa bên phải. Lặp lại các bước trên cho đến khi tìm được phần tử cần tìm.
C. Không cần sắp xếp mảng dữ liệu, lần lượt kiểm tra từng phần tử trong mảng dữ liệu.
D. Không cần sắp xếp mảng dữ liệu. Chia mảng dữ liệu thành hai nửa. Kiểm tra phần tử ở giữa để xem cần tìm kiếm ở nửa bên trái hay nửa bên phải. Lặp lại các bước trên cho đến khi tìm được phần tử cần tìm.
Mô tả nào sau đây là đúng nhất cho thuật toán tìm kiếm tuần tự?
A. Sắp xếp các phần tử trong mảng theo thứ tự, sau đó lần lượt kiểm tra từng phần tử.
B. Sắp xếp các phần tử trong mảng theo thứ tự, chia mảng dữ liệu thành hai nửa. Kiểm tra phần tử ở giữa để xem cần tiếp tục tìm kiếm ở nửa bên trái hay nửa bên phải. Lặp lại các bước trên cho đến khi tìm được phần tử cần tìm.
C. Không cần sắp xếp mảng dữ liệu, lần lượt kiểm tra từng phần tử trong mảng dữ liệu.
D. Không cần sắp xếp mảng dữ liệu. Chia mảng dữ liệu thành hai nửa. Kiểm tra phần tử ở giữa để xem cần tìm kiếm ở nửa bên trái hay nửa bên phải. Lặp lại các bước trên cho đến khi tìm được phần tử cần tìm.
Câu 3:
Cho dãy số với các phần tử đã được sắp xếp theo thứ tự tăng dần, trong đó một số phần tử có thể xuất hiện nhiều lần như sau:
A= [1, 1, 3, 3, 3, 10, 10, 12, 14, 14, 14, 15, 16].
Hãy chỉnh sửa thuật toán tìm kiếm nhị phân để tìm kiếm một số và đưa ra vị trí mà số đó xuất hiện lần đầu tiên.
Ví dụ: Nếu số cần tìm là số 3 thì kết luận số 3 có trong dãy, vị trí xuất hiện lần đầu tiên có chỉ số là 2 (phần tử đầu tiên trong dãy có chỉ số là 0). Nếu số cần tìm là số 5 thì kết luận không tồn tại số 5 trong dãy.
Cho dãy số với các phần tử đã được sắp xếp theo thứ tự tăng dần, trong đó một số phần tử có thể xuất hiện nhiều lần như sau:
A= [1, 1, 3, 3, 3, 10, 10, 12, 14, 14, 14, 15, 16].
Hãy chỉnh sửa thuật toán tìm kiếm nhị phân để tìm kiếm một số và đưa ra vị trí mà số đó xuất hiện lần đầu tiên.
Ví dụ: Nếu số cần tìm là số 3 thì kết luận số 3 có trong dãy, vị trí xuất hiện lần đầu tiên có chỉ số là 2 (phần tử đầu tiên trong dãy có chỉ số là 0). Nếu số cần tìm là số 5 thì kết luận không tồn tại số 5 trong dãy.
Câu 4:
Kiểu dữ liệu nào sau đây có thể áp dụng thuật toán tìm kiếm nhị phân?
A. Dữ liệu đã được sắp xếp.
B. Dữ liệu chưa được sắp xếp.
Kiểu dữ liệu nào sau đây có thể áp dụng thuật toán tìm kiếm nhị phân?
A. Dữ liệu đã được sắp xếp.
B. Dữ liệu chưa được sắp xếp.
Câu 5:
Trong các đặc điểm sau đây, đâu là ưu điểm của thuật toán tìm kiếm tuần tự?
A. Không cần sắp xếp trước dữ liệu đầu vào.
B. Có thể hoạt động hiệu quả trên mảng dữ liệu đã sắp xếp có kích thước lớn.
C. Chỉ có thể hoạt động tốt trên mảng dữ liệu đã sắp xếp.
D. Tốc độ tìm kiếm chậm trên mảng dữ liệu có kích thước lớn.
Trong các đặc điểm sau đây, đâu là ưu điểm của thuật toán tìm kiếm tuần tự?
A. Không cần sắp xếp trước dữ liệu đầu vào.
B. Có thể hoạt động hiệu quả trên mảng dữ liệu đã sắp xếp có kích thước lớn.
C. Chỉ có thể hoạt động tốt trên mảng dữ liệu đã sắp xếp.
D. Tốc độ tìm kiếm chậm trên mảng dữ liệu có kích thước lớn.
Câu 6:
Các dữ liệu trong tệp sẽ bị ghi đè trong trường hợp nào sau đây?
A. Tệp được mở với tham số “w”.
B. Tệp được mở với tham số “a”.
C. Kết thúc chương trình mà không có lệnh đóng tệp.
D. Cứ có lệnh mở tệp là các dữ liệu trong tệp có thể bị ghi đè.
Các dữ liệu trong tệp sẽ bị ghi đè trong trường hợp nào sau đây?
A. Tệp được mở với tham số “w”.
B. Tệp được mở với tham số “a”.
C. Kết thúc chương trình mà không có lệnh đóng tệp.
D. Cứ có lệnh mở tệp là các dữ liệu trong tệp có thể bị ghi đè.
Câu 7:
Giả sử cần sử dụng thuật toán tìm kiếm nhị phân để tìm ra số “10” trong dãy số sau:
A= [1, 3, 10, 12, 14, 15, 16].
Hỏi có bao nhiêu phép so sánh cần được thực hiện?
A. 2.
B. 3.
C. 4.
D. Thuật toán không tìm thấy số cần tìm.
Giả sử cần sử dụng thuật toán tìm kiếm nhị phân để tìm ra số “10” trong dãy số sau:
A= [1, 3, 10, 12, 14, 15, 16].
Hỏi có bao nhiêu phép so sánh cần được thực hiện?
A. 2.
B. 3.
C. 4.
D. Thuật toán không tìm thấy số cần tìm.
Câu 8:
Giả sử cần sử dụng thuật toán tìm kiếm tuần tự để tìm ra số "10" trong dãy số sau:
A= [1, 3, 9, 8, 10, 19, 27, 11, 17].
Hỏi có bao nhiêu phép so sánh cần được thực hiện?
A. 4.
B. 5.
C. 6.
D. 7.
Giả sử cần sử dụng thuật toán tìm kiếm tuần tự để tìm ra số "10" trong dãy số sau:
A= [1, 3, 9, 8, 10, 19, 27, 11, 17].
Hỏi có bao nhiêu phép so sánh cần được thực hiện?
A. 4.
B. 5.
C. 6.
D. 7.