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

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

Đ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

1  SẮP XẾP    5.1 Phương pháp chọn 5.2 Phương pháp chèn 5.3 Phương pháp chèn nhị phân 5.4 Phương pháp nổi bọt 5.5 Phương pháp sắp xếp nhanh 5.6 Phương pháp vun đống           ! "   #$ % "   &   '  (( &)  *" &' + ' ,-    .' + (, +   '  (/  #01 2(3/4,5/607&3&,89: /; 0  .  # <6=>/,8=,7?&3&,8 &@'&2(*"A&B*5"C7#D =,7;"E&9/; .@01'&2("F=G4.#  H      013&&IJK/ 2(3/40(/LM12(80N=L0C(#@ 3/3&": 0'&3&,80(/LO,:P/M1 10'2("Q0P&3&,8 0(/L/'C#1J&BR,13 /9ST-&U.@# 9ST8"E&0111 T#   #VW3&X  Ý tưởng: 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.  Y #VW3&X  Thuật toán: void SX_chon(int *k, int n) {int i,x; for(i=1;i<n-1;i++) {int m=i; for(int j=i+1;j<n;j++) if(k[j]<k[m]) m=j; if(m!=i) { x=k[i]; k[i]=k[m]; k[m]=x;} } return; }  Z #W3&[  Ý tưởng: Dãy khóa cần xếp là k[1], k[2],…, k[n]. Đầu tiên khóa k[1] chỉ có một khóa đã được sắp xếp. Xét thêm k[2],so sánh nó với k[1] để xác định chỗ chèn nó vào và ta có 2 khóa được sắp xếp. Đối với k[3] lại so sánh với k[2], k[1] và cứ như vậy đến khi xét xong k[n].  \ #W3&[  Cài đặt: Để có chỗ cho khóa mới phải dịch chuyển các khóa lùi lại sau và dùng X làm ô nhớ phụ 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]=-∞.  ] #W3&[ void SX_chen(int *k, int n) {int j; for(int i=2;i<=n;i++) {int x=k[i];j=i-1; while(x<k[j]) {k[j+1]=k[j];j--;} k[j+1]=x; } return; }  V^ #W3D,X  Cài đặt: Bảng các khóa sẽ được duyệt từ đáy lên đỉnh. Dọc đường nếu gặp 2 khóa kế cận ngược 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. [...]... k[floor(j/2)]=key; } 20 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:  Sắp xếp chọn  Sắp xếp chèn  Sắp xếp nổi bọt Bài 2: Làm các bài tâ ̣p chương 6, trang 143-146 sách Cấ u trúc dữ liệu và giải thuâ ̣t, Đỗ Xuân Lôi, NXB Đa ̣i ho ̣c Quố c gia Hà Nô ̣i 21 ... *d) {int a; a=*c; *c=*d; *d=a; return; } 12 5.4 Phương pháp sắp xếp nhanh  Ý tưởng: Chọn khóa đầu tiên của dãy làm chốt Mọi phần tử nhỏ hơn khóa chốt phải được xếp vào đầu dãy Mọi phần tử lớn hơn khóa chốt phải được xếp vào cuối dãy Muốn vậy, các phần tử trong dãy sẽ được so sánh với khóa chốt và sẽ đổi vị trí cho nhau 13 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... 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ử 14 5.4 Phương pháp sắp xếp nhanh void SX_nhanh(int *k, int L, int U) {int B=1; if(L .  SẮP XẾP    5.1 Phương pháp chọn 5.2 Phương pháp chèn 5.3 Phương pháp chèn nhị phân 5.4 Phương pháp nổi bọt 5.5 Phương pháp sắp xếp. #W3&[  Ý tưởng: Dãy khóa cần xếp là k[1], k[2],…, k[n]. Đầu tiên khóa k[1] chỉ có một khóa đã được sắp xếp. Xét thêm k[2],so sánh nó với k[1]

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ổ Xem tại trang 3 của tài liệu.

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan