các sắp xếp trong cấu trúc dữ liệu và giải thuật

100 741 0
các sắp xếp trong cấu trúc dữ liệu và giải thuật

Đ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

selection sort,insertion sort,Bubble Sort,Heap Sort,Quick Sort,Merge Sort

GV: Phạm Ngọc Nam Bộ môn KHMT – Khoa CNTT – Trường ĐH Tôn Đức Thắng 1 1 Selection Sort Insertion Sort Bubble Sort Heap Sort Quick Sort Merge Sort 2 2 3  Ý 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í đầu dãy. Sau đó không quan tâm đến nó nữa, dãy giảm xuống N-1 phần tử… tương tự như trên bắt đầu tại vị trí thứ 2 cho đến khi dãy hiện hành chỉ còn 1 phần tử.  Các bước thực hiện như sau:  B1: i = 0  B2: tìm phần tử a[min] nhỏ nhất trong dãy hiện hành từ a[i] đến a[n-1]  B3: hoán vị a[min] với a[i]  B4: nếu i < n-1 thì i = i +1 lặp lại B2 ngược lại dừng thuật toán. 3 4  Ví dụ cho dãy số: 5 3 2 4 1 8 6 7 5 3 2 4 1 8 6 7 i= 0 1 3 2 4 5 8 6 7 i= 1 1 2 3 4 5 8 6 7 i= 2 4 5  Ví dụ cho dãy số: 5 3 2 4 1 8 6 7 1 3 2 4 5 8 6 7 i= 4 1 3 2 4 5 8 6 7 i= 3 1 3 2 4 5 8 6 7 i= 5 5 6  Ví dụ cho dãy số: 5 3 2 4 1 8 6 7 1 3 2 4 5 8 8 7 i= 6 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 6 7 7 8 8 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; } if(a[min] < a[i]) HoanVi(a[min],a[i]); } } 9 9 10 10 . CNTT – Trường ĐH Tôn Đức Thắng 1 1 Selection Sort Insertion Sort Bubble Sort Heap Sort Quick Sort Merge Sort 2 2 3  Ý tưởng:  Chọn phần tử nhỏ nhất. 2 4 5 8 8 7 i= 6 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 6 7 7 8 8 Void SelectionSort(int a[], int n) { int min; for(int i = 0; i < n-1; i++) { min = i; for(int

Ngày đăng: 20/12/2013, 12:20

Từ khóa liên quan

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

Tài liệu liên quan