Ý tưởng :
Chọn phần tử nhỏ nhất trong n phần tử ban đầu, đưa phần tử này về vị trí đúng là đầu tiên của dãy hiện hành. Sau đó không quan tâm đến nó nữa, xem dãy hiện hành chỉ còn n-1 phần tử của dãy ban đầu, bắt đầu từ vị trí thứ 2. Lặp lại quá trình trên cho dãy hiện hành đến khi dãy hiện hành chỉ còn 1 phần tử. Dãy ban đầu có n phần tử, vậy tóm tắt ý tưởng thuật toán là thực hiện n-1 lượt việc đưa phần tử nhỏ nhất trong dãy hiện hành về vị trí đúng ở đầu dãy.
Thuật giải:
Bước 1: i=1
Bước 2: Tìm phần tử a[min] nhỏ nhất trong dãy hiện hành từ a[i] đến a[n]
Bước 3: Hoán vị a[min] và a[i]
Bước 4: Nếu i<=n-1 thì i=i+1; Lặp lại bước 2
Ngược lại: Dừng. n-1 phần tử đã nằm đúng vị trí.
Ví dụ: Cho dãy a = (12,2,8,5,1,6,4,15)
12 2 8 5 1 6 4 15
Bước 1: 1 2 8 5 12 6 4 15
Bước 2: 1 2 8 5 12 6 4 15
Bước 3: 1 2 4 5 12 6 8 15
Bước 4: 1 2 4 5 12 6 8 15
Bước 5: 1 2 4 5 6 12 8 15
Bước 6: 1 2 4 5 6 8 12 15
Bước 7: 1 2 4 5 6 8 12 15
Ví dụ. Cho dãy: {5, 1, 12, -5, 16, 2, 12, 14}
Cài đặt:
Void SelectionSort(int a[], int n)
{
int min;
for(int i=0;i<n-1;i++)
{
min=i;
for(int j=i+1;j<n;j++)
if(a[j]<a[min]) min=j;
HoanVi(a[min],a[i]);
}
}
Home
»
»Unlabelled
» Thuat Toan SelectionSort
Chủ Nhật, 20 tháng 5, 2012
Đăng ký:
Đăng Nhận xét (Atom)
Popular Posts
-
; nhập vào 2 số nguyên a, b <10 ; tính tổng a+b, in kết quả ra màn hình .model small .code org 100h jmp Main a db ? b db ? ...
-
AirlineDomains.com Make Offer TouristDomains.com Make Offer MinhphuGroup.com Make Offer TurkeyDomain.com Make Offer TouristDomain.com Make O...
-
Một phụ nữ người Utah cùng đứa con 17 tháng tuổi đã được giải thoát sau 5 ngày bị chính người chồng bắt làm con tin. Troy Reed Critchfi...
-
Dịch vụ âm nhạc trực tuyến trứ danh của Châu Âu, Spotify công bố đã có 2,5 triệu khách hàng thường xuyên trả tiền để nghe các bài hát có bản...
-
Trong số các chương trình viết nhạc, Encore là chương trình có tính năng trình diễn rất tiện lợi, với 11 thanh công cụ trong Palette để soạn...
-
Như tiêu đề, qua tham khảo thông tin trên forum, thấy nhiều bạn than vãn về vấn đề chia ổ bằng acronis diskdirector mà chưa có lời giải đáp ...
-
Easy DriverPack liên tục ra phiên bản mới đến nay chúng ta đã có một sự cải tiến vượt bậc về giao diện và cải tiến về phương pháp nhận biết ...
-
/* Bài toán Xếp Hậu Bài toán tám quân hậu là bài toán đặt tám quân hậu trên bàn cờ vua kích thước 8×8 sao cho không có quân hậu nào có thể &...
-
org 100h jmp start ; tao xau nghich dao string1 db ' toi khong mo hoa $' start: lea bx, string1 mov si, bx next_byt...
-
/* Bài toán "Tháp Hà Nội" Tương truyền rằng ngày xửa ngày xưa, lâu lắm rồi, ở một vùng xa xôi viễn đông, thành phố Hà Nội của Việ...
0 nhận xét:
Đăng nhận xét