Tài liệu Giáo trình cấu trúc dữ liệu và giải thuật_Chương 7: Sắp xếp docx

16 574 1
Tài liệu Giáo trình cấu trúc dữ liệu và giải thuật_Chương 7: Sắp xếp docx

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 7: SẮP XẾP GIỚI THIỆU VỀ BÀI TOÁN SẮP XẾP Sắp xếp nút cấu trúc theo thứ tự tăng dần (hay giảm dần) công việc thực thường xuyên Với cấu trúc xếp thuận tiện thực tác vụ cấu trúc tìm kiếm, trích lọc duyệt cấu trúc… Có hai giải thuật xếp dùng phổ biến khoa học máy tính xếp liệu nhớ (internal sort) xếp liệu nhớ (external sort) Với xếp liệu nhớ tồn liệu cần xếp đưa vào nhớ trong, kích thước liệu cần xếp không lớn, nhiên thời gian xếp thực nhanh Với xếp liệu nhớ ngồi phần nhỏ liệu cần xếp đưa vào nhớ trong, phần lớn liệu lưu trữ nhớ đĩa từ, băng từ, đĩa cứng… kích thước liệu cần xếp lúc lớn thời gian xếp chậm Để phân tích đánh giá giải thuật xếp, cần thẩm định giải thuật chiếm dụng vùng nhớ, giải thuật chạy nhanh hay chạy chậm Hai tiêu chí dùng để phân tích giải thuật xếp là: • Sự chiếm dụng nhớ giải thuật • Thời gian thực giải thuật SẮP XẾP BỘ NHỚ TRONG Có nhiều giải thuật để thực việc xếp liệu nhớ Ở phần ta xét phương pháp: bubble sort, simple selection sort, simple insertion sort, quicksort merge sort 2.1 Giải thuật bubble sort 2.1.1 Mô tả phương pháp Giải thuật duyệt danh sách nhiều lần, lần duyệt so sánh cập nút thứ i thứ i + đổi chỗ hai nút chúng không thứ tự Minh hoạ: Dùng phương pháp bubble sort để xếp lại danh sách 25 55 45 40 10 90 85 35 Bảng sau minh hoạ trình so sánh đổi chổ cho lần duyệt i Nodes[i] Nodes[i+1] Kiểm tra Nodes[i] Nodes[i+1] (trước) (trước) nodes[i]>nodes[i+1]? (sau) (sau) 25 55 Sai ->không đổi chổ 25 55 55 45 Đúng ->đổi chổ 45 55 55 40 Đúng ->đổi chổ 40 55 55 10 Đúng ->đổi chổ 10 55 55 90 Sai ->không đổi chổ 55 90 90 85 Đúng ->đổi chổ 85 90 90 35 Đúng ->đổi chổ 35 90 Nếu dùng phương pháp bubble sort để xếp danh sách có n nút: • Sau lần duyệt thứ 1, nút lớn định vị chổ • Sau lần duyệt thứ 2, nút thứ định vị chổ • Sau lần duyệt thứ n-1 n nút danh sách xếp thứ tự Sự biến đổi danh sách qua lần duyệt mô tả bảng lần duyệt Dữ liệu Ban đầu 25 55 45 40 10 90 85 25 45 40 10 55 85 35 25 40 10 45 55 35 85 25 10 40 45 35 55 85 10 25 40 35 45 55 85 10 25 35 40 45 55 85 10 25 35 40 45 55 85 10 25 35 40 45 55 85 35 90 90 90 90 90 90 90 2.1.2 Cài đặt giải thuật bubble sort void bubblesort(int nodes[], int n){ int temp, i,j; int doicho=TRUE; for(i=1; i

Ngày đăng: 20/01/2014, 18:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan