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

Tài liệu Chương 5: sắp xếp pdf

21 558 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Chương 5 Sắp xếp
Thể loại Chương
Định dạng
Số trang 21
Dung lượng 469 KB

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

Nội dung

Sắp xếp là quá trình bố trí lại các bản ghi theo một trường go ̣i là khóa.. Sổ danh bạ thường được sắp xếp theo trường khóa là tên cơ quan để dễ tìm kiếm... chứa khóa đang được xét

Trang 1

CHƯƠNG 5

SẮP XẾP

Trang 3

Bài toán sắp xếp

Có mô ̣t tâ ̣p n đối tượng Mỗi đối tượng có nhiều thuô ̣c tính, được thể hiê ̣n bằng mô ̣t

kiểu bản ghi gồm nhiều trường Sắp xếp là

quá trình bố trí lại các bản ghi theo một

trường go ̣i là khóa.

Ví dụ trong bảng danh bạ gồm các bản ghi

có tên cơ quan, địa chỉ, số điện thoại Sổ

danh bạ thường được sắp xếp theo trường

khóa là tên cơ quan để dễ tìm kiếm.

Trang 4

tương tự.

Trang 5

5.1 Phương pháp chọn

Dãy khóa cần sắp xếp là k[1],k[2],…, k[n] Ở lượt thứ i (i=1,2,3,…,n-2) ta sẽ chọn trong dãy khóa k[i+1],…., k[n] khóa nhỏ nhất và đổi chỗ nó với k[i]

Sau n-1 lượt khóa từ nhỏ đến lớn sẽ được sắp xếp ở các vị trí thứ 1, thứ 2,…thứ n-1, thứ n

Trang 8

chứa khóa đang được xét Để khóa mới dù ở

vị trí đầu tiên cũng được chèn vào giữa

khóa nhỏ và lớn hơn nó, ta thêm vào khóa giả k[0]=-∞.

Trang 10

thứ tự ta sẽ đổi chỗ chúng với nhau.

Sau mỗi lượt sắp xếp các giá trị khóa nhỏ sẽ nổi dần lên giống như bọt nước trong nồi nước đang sôi.

Trang 13

được so sánh với khóa chốt và sẽ đổi vị trí cho nhau.

Trang 14

5.4 Phương pháp sắp xếp nhanh

Khi việc đổi chỗ đã thực hiện xong, dãy khóa được phân làm 2 đoạn Đoạn đầu gồm các khóa nhỏ hơn chốt, đoạn sau gồm các khóa lớn hơn chốt, khóa chốt nằm giữa 2 đoạn.

Hai đoạn sẽ được xử lý riêng giống như vậy Quá trình xử lý từng đoạn sẽ kết thúc khi chỉ còn 1 phần tử.

Trang 15

{int i=L;int j=U+1;int key=k[L];

while(B) {i++;while(k[i]<key) i++;

j ;while(k[j]>key) j ;

if(i<j) swap(&k[i],&k[j]);

else B=0;

}

Trang 17

5.5 Phương pháp vun đống

Cài đặt:

Trước hết phải tạo đống là tạo ra cây nhị

phân hoàn chỉnh mà khóa ở nút cha bao giờ cũng lớn hơn khóa ở các nút con của nó

Cây nhị phân này được lưu trữ kế tiếp

trong máy.

Trang 19

}

Trang 21

Bài tâ ̣p

Bài 1.Cho dãy khóa:

50,8,34,6,98,17,83,25,66,42,21,59,62,71,85,76 Viết chương trình sắp xếp dãy khóa trên theo thứ

tự tăng dần, giảm dần bằng phương pháp:

Ngày đăng: 12/12/2013, 19:15

HÌNH ẢNH LIÊN QUAN

Ví dụ trong bảng danh bạ gồm các bản ghi có tên cơ quan, địa chỉ, số điện thoại. Sổ  - Tài liệu Chương 5: sắp xếp pdf
d ụ trong bảng danh bạ gồm các bản ghi có tên cơ quan, địa chỉ, số điện thoại. Sổ (Trang 3)

TỪ KHÓA LIÊN QUAN