Thành viên | Nội dung |
admin
Thích gái đẹp ... 54 bài
| Có các thuật toán sắp xếp sau đây :
- buble sort : nổi bọt - selection sort : lựa chọn - exchange : đổi chỗ - quick sort : sắp xếp nhanh.
Trong cái mớ các thuật toán trên chỉ có cái quick sort là kỳ quặc, mình đọc giải thích hoài mà chả hiểu nó thực hiện thế nào. Còn các loại kia có thể quy về các phương pháp "quy hoạch động" (lại phải giải thích cái từ khóa này : nó là quá trình tìm kiếm giá trị tối ưu địa phương). Càng giải thích các khái niệm thì càng lằng nhằng, nhưng túm lại nó chỉ đơn giản như sau : bác nào muốn sort một cái mảng thì đầu tiên bác tìm thằng to nhất vứt lên đầu, vứt béng cái thằng đấy đi xét các thằng còn lại (còn n-1 thằng) thằng nào to nhất lại vứt lên đầu của n-1 thằng còn lại (tức là thứ 2).
Cụ thể thế này
xét n thằng : to nhất ở số 1 xét n-1 thằng : to nhất ở số 2 xét n-2 thằng : to nhất ở số 3 ...
Đấy tức là so sánh "địa phương" với các thằng còn lại, thì nó là to nhất. Hết. Bác nào xem còn cách nào giải thích khác dễ hiển hơn không?
code nó thế này
for(int i = 0; i < n; i++) for(int j = i+1; j < n; j++) // so với các thằng còn lại if(a [ i ] < a [ j ] ) // thằng a [ i ] là thằng to nhất { int temp = a [ i ] ; a [ i ] = a [ j ] ; a [ j ] = temp; } pậc pậc --- http://coder.awas.vn http://awas.vn
|
tamnguyen29991
tamnguyen_it 10 bài
| Cho minh hoi code thuat toan sap xep chen ay --- 4tam
|
tamnguyen29991
tamnguyen_it 10 bài
| Minh dang rat can. Duoc thi tra loi som cho minh voi. Trog ngay ni lun nha. Cam on nhiu nha --- 4tam
|
khanhjin@gmail.com
Một ngày tình cờ trên đường phố tôi có bàn chân em ... 36 bài
| for i := 1 to length [A] -1 do begin value := A [ i ] ; j := i - 1; done := false; repeat { To sort in descending order simply reverse the operator i.e. A [j] < value } if A [j] > value then begin A [j + 1] := A [j] ; j := j - 1; if j < 0 then done := true; end else done := true; until done; A [j + 1] := value; end;
|
khanhjin@gmail.com
Một ngày tình cờ trên đường phố tôi có bàn chân em ... 36 bài
| Thuật toán Sắp xếp chèn - Insertion Sort
Sắp xếp chèn (insertion sort) là một thuật toán sắp xếp bắt chước cách sắp xếp quân bài của những người chơi bài. Muốn sắp một bộ bài theo trật tự người chơi bài rút lần lượt từ quân thứ 2, so với các quân đứng trước nó để chèn vào vị trí thích hợp. Mô tả
Cơ sở lập luận của sắp xếp chèn có thể mô tả như sau: Xét danh sách con gồm k phần tử đầu a1,...,ak. Với k = 1, danh sách gồm một phần tử đã được sắp. Giả sử trong danh sách k-1 phần tử đầu a1,...,ak − 1 đã được sắp. Để sắp xếp phần tử ak = x ta tìm vị trí thích hợp của nó trong dãy a1,...,ak − 1. Vị trí thích hợp đó là đứng trước phần tử lớn hơn nó và sau phần tử nhỏ hơn hoặc bằng nó. Các phần tử ≤x Vị trí thích hợp Các phần tử>x Các phần tử chưa sắp a1 ... ai − 1 x ai + 1 ... ak − 1 ak + 1 ... an Ví dụ
Cho danh sách 1 3 7 - 6 4 2 5
Danh sách con gồm 3 phần tử bên trái 1,3,7 đã được sắp. Để tiếp tục sắp xếp phần tử thứ tư a4 = 6 vào danh sách con đó, ta tìm vị trí thích hợp của nó là sau 3 và trước 7. 1 3 6 7 - 4 2 5
Làm tiếp theo với a5 = 4 ta được 1 3 4 6 7 - 2 5
Làm tiếp theo với a6 = 2 ta được 1 2 3 4 6 7 - 5
Cuối cùng chèn a7 = 5 1 2 3 4 5 6 7 - Mã Giả
* Danh sách a bắt đầu từ chỉ số 1 tới length
Procedure Insert (array a, int k, Value) { int i := k-1; while (i > 0 and a [ i ] > value) { a [i+1] := a [ i ] ; i := i - 1; } a [i+1] := value; }
Procedure InsertSort (array a, int length) { int k := 2; while (k <= length) { insert(a, k, a [k] ); k := k + 1; } }
|
hat1407
4 bài
| Bạn ơi có tài liệu này kio giúp mình với Cài đặt trên C chuong trình sắp xếp lịch thi đơn giản và ứng dụng thuật toán tô màu đồ thị --- Có ai giúp mình với Bài tập: thầy ra ma không biết làm thế nào đây cài đặt trên C chuong trình sắp xếp lịch thi đơn giản và ứng dụng thuật toán tô màu đồ thị
|
|