Giải SGK Tin học 11 KNTT Bài 21. Các thuật toán sắp xếp đơn giản có đáp án

Viết lại các thuật toán sắp xếp trong bài theo thứ tự giảm dần.

13/14

Viết lại các thuật toán sắp xếp trong bài theo thứ tự giảm dần.

0/3000 ký tự
Giải thích

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

def insertion_sort(arr):

    n = len(arr)

    for i in range(1, n):

        key = arr[i]

        j = i - 1

        while j >= 0 and arr[j] < key:

            arr[j + 1] = arr[j]

            j -= 1

        arr[j + 1] = key

    return arr

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

def selection_sort(arr):

    n = len(arr)

    for i in range(n - 1):

        max_idx = i

        for j in range(i + 1, n):

            if arr[j] > arr[max_idx]:

                max_idx = j

        arr[i], arr[max_idx] = arr[max_idx], arr[i]

    return arr

3.Thuật toán sắp xếp nổi bọt:

def bubble_sort(arr):

    n = len(arr)

    for i in range(n - 1):

        for j in range(n - i - 1):

            if arr[j] < arr[j + 1]:

                arr[j], arr[j + 1] = arr[j + 1], arr[j]

    return arr