Câu hỏi:

11/07/2024 308

Mã lệnh Python sau đây thể hiện hàm sắp xếp nhanh sử dụng phân đoạn Lomuto, được trích dẫn từ Hình 3 trong sách giáo khoa Tin học 11 – Khoa học máy tính.

def quickSort(a, lo, hi):

if lo < hi:

p = phandoan Lomuto (a, lo, hi) quickSort (a, lo, p 1) quickSort(a, p+1, hi)

Có thể thấy rằng trong phần cài đặt của hàm quickSort, ta lại gọi chính nó hai lần. Kĩ thuật này được gọi là đệ quy. Em hãy giải thích tại sao hàm quickSort không chạy vô hạn với một bộ tham số hợp lệ, dù nó sẽ liên tục gọi lại chính nó.

Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).

Tổng ôn toán Tổng ôn lý Các môn khác

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

Em tránh được việc đệ quy vô hạn vì phần cài đặt luôn đảm bảo điều kiện dừng là lo 2 hi. Điều kiện này chắc chắn sẽ xảy ra vì kích thước của đoạn [lo, hi] sẽ luôn bị thu hẹp qua từng lớp phân đoạn.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Câu 1:

Hãy xác định độ phức tạp của thuật toán Quick Sort trong trường hợp xấu nhất.

Xem đáp án » 11/07/2024 649

Câu 2:

Một công ty có n nhân viên. Đã tới cuối tháng, người chủ nhận thấy tháng này có khá nhiều nhân viên vắng làm. Ông đã kiểm tra danh sách chấm công và biết được số ngày mỗi nhân viên đã đi làm trong tháng. Sau đó là danh sách xin nghỉ phép gồm m dòng.

Hãy lập trình để xác định xem có bao nhiêu nhân viên vắng không phép và liệt kê ra các nhân viên đó theo thứ tự số buổi vắng không phép giảm dần.

Dữ liệu: Nhập từ thiết bị vào chuẩn:

• Dòng đầu tiên chứa hai số nguyên dương n, m.

• Dòng thứ hai chứa n số nguyên b[i] là số ngày đi làm của nhân viên có số hiệu là i (các nhân viên được đánh số 1, 2, 3,..., ).

m dòng cuối cùng, mỗi dòng chứa thông tin dưới dạng “a d” tức là người a xin nghỉ phép vào ngày d (1 <aŚn, 1<d<30) (giả sử tháng đang hỏi có 30 ngày). Dữ liệu vào đảm bảo trong cùng một ngày, mỗi nhân viên chỉ xin phép tối đa một lần.

Kết quả: Hiển thị ở thiết bị ra chuẩn:

• Dòng đầu chứa số lượng nhân viên đã vắng không phép.

• Dòng thứ hai chứa các chỉ số của các nhân viên vắng (được sắp xếp theo số lượng buổi vắng không phép giảm dần).

Một công ty có n nhân viên. Đã tới cuối tháng, người chủ nhận thấy tháng này có khá nhiều nhân viên vắng làm. Ông đã kiểm tra danh sách chấm công và biết được số ngày  (ảnh 1)

Xem đáp án » 11/07/2024 257

Câu 3:

Sửa lại cách cài đặt thuật toán Quick Sort để sắp xếp một danh sách tuple (ưu tiên khoá bên trái trước, nếu khoá bên trái bằng nhau thì so sánh khoá bên phải).

Xem đáp án » 11/07/2024 225

Câu 4:

Một công ty có n nhân viên. Đã tới cuối tháng, người chủ nhận thấy tháng này có khá nhiều nhân viên vắng làm. Ông đã kiểm tra danh sách chấm công và biết được số ngày mỗi nhân viên đã đi làm trong tháng. Sau đó là danh sách xin nghỉ phép gồm m dòng.

Hãy lập trình để xác định xem có bao nhiêu nhân viên vắng không phép và liệt kê ra các nhân viên đó theo thứ tự số buổi vắng không phép giảm dần.

Dữ liệu: Nhập từ thiết bị vào chuẩn:

• Dòng đầu tiên chứa hai số nguyên dương n, m.

• Dòng thứ hai chứa n số nguyên b[i] là số ngày đi làm của nhân viên có số hiệu là i (các nhân viên được đánh số 1, 2, 3,..., ).

m dòng cuối cùng, mỗi dòng chứa thông tin dưới dạng “a d” tức là người a xin nghỉ phép vào ngày d (1 <aŚn, 1<d<30) (giả sử tháng đang hỏi có 30 ngày). Dữ liệu vào đảm bảo trong cùng một ngày, mỗi nhân viên chỉ xin phép tối đa một lần.

Kết quả: Hiển thị ở thiết bị ra chuẩn:

• Dòng đầu chứa số lượng nhân viên đã vắng không phép.

• Dòng thứ hai chứa các chỉ số của các nhân viên vắng (được sắp xếp theo số lượng buổi vắng không phép giảm dần).

Một công ty có n nhân viên. Đã tới cuối tháng, người chủ nhận thấy tháng này có khá nhiều nhân viên vắng làm. Ông đã kiểm tra danh sách chấm công và biết được số ngày  (ảnh 1)

Xem đáp án » 25/09/2023 213

Bình luận


Bình luận
Đăng ký gói thi VIP

VIP 1 - Luyện thi tất cả các đề có trên Website trong 1 tháng

  • Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

VIP 2 - Luyện thi tất cả các đề có trên Website trong 3 tháng

  • Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

VIP 3 - Luyện thi tất cả các đề có trên Website trong 6 tháng

  • Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

VIP 4 - Luyện thi tất cả các đề có trên Website trong 12 tháng

  • Siêu tiết kiệm - Được thi tất cả các đề của các lớp có trên Khoahoc.vietjack.com
  • Ngân hàng câu hỏi trắc nghiệm theo các mức độ Nhận biết, Thông hiểu, Vận dụng, Vận dụng cao.
  • Luyện chuyên sâu, rèn tốc độ với trọn bộ đề thi thử, đề minh họa, chính thức các năm.
  • Hỏi bài tập với đội ngũ chuyên môn cao của chúng tôi.

Đặt mua

Sách cho 2k7 ôn luyện THPT-vs-DGNL