1. Trang chủ
  2. » Công Nghệ Thông Tin

Cấu trúc dữ liệu và giải thuật (phần 6) potx

10 329 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 448,01 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Heap sort Đánh giá thuật toán: - Độ phức tạp của giải thuật là Onlgn - Ưu điểm: Nhanh, hiệu quả, và không đòi hỏi về không gian bộ nhớ - Nhược điểm: Khi dãy số đã sắp xếp có thứ tự thì g

Trang 1

Heap sort

 Đánh giá thuật toán:

- Độ phức tạp của giải thuật là O(nlgn)

- Ưu điểm: Nhanh, hiệu quả, và không đòi hỏi về không gian bộ nhớ

- Nhược điểm: Khi dãy số đã sắp xếp có thứ tự thì giải thuật này tỏ ra không hiệu quả.

Trang 2

Heap sort

 Bài tập: Cho dãy số sau:

A= [23, 17, 21, 3, 42, 9, 13, 1,2,7,35,4]

Trình bày các bước sắp xếp dãy A theo Heapsort

Trang 3

MERGE SORT

Trang 4

Merge sort đệ qui

 Merge sort đệ qui:

Khi gọi đệ quy, chương trình phân chia ra các mảng con, rồi tiếp tục sắp xếp đệ quy mảng con thứ nhất

34

Trang 5

 Ví dụ:

35

42 23 74 11 65 58 94 36 99 87

42 23 74 65 11 58 94 36 99 87

74 65 11

11 65

42 23

11 65

74

11 65

11 23 42 65 74

Tách

Tr ộ n

23 42

Trang 6

Merge sort đệ qui

36

i:= left; j:= mid+1; k:= left ; //Kh ởi tạo vị trí con trỏ

while ((i<=mid) &&(j<=right))

{ if (a[i] <= a[j])

{ b[k] = a[i]; i++; }

else { b[k] = a[j]; j++; }

k++;

}

//L ấy phần tử nhỏ hơn trong hai

ph ần tử a[i], a[j] vào dãy b

while (j < right)

{ j++; k++; b[k] = a[j] }

// đặt các phần tử còn lại của dãy

a[m+1,r] vào cuối dãy b

while (i < mid)

{ i++; k++; b[k]= a[i] }

// đặt các phần tử còn lại của dãy

a[1,m] vào cuối dãy b

for (k= left; k<= right; k++) a[k]:= b[k]; //gán b[l,r] tr ở lại a[l,r]

Trang 7

Merge sort đệ qui

}

37

Trang 8

Merge sort trực tiếp

 Merge sort trực tiếp:

nguyên tắc luân phiên từng nhóm k phần tử

- B3: Trộn từng cặp dãy con gồm k phần tử của dãy

b,c vào a

- B4: k=k*2;

- Nếu k <n thì quay lại B2

- Ngược lại: Dừng

38

Trang 9

Merge sort trực tiếp

 Ví dụ:

39

Trang 10

Merge sort trực tiếp

40

Ngày đăng: 09/07/2014, 17:20

TỪ KHÓA LIÊN QUAN