1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thuật toán Combsort

1 995 4

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 1
Dung lượng 40,99 KB

Nội dung

Combsort là một thuật toán sắp xếp ngắn gọn đơn giản, chạy trong thời gian ngắn. Thuật toán của nó khá giống với Bubble sort, điểm khác biệt là thay vì so sánh hai phần tử liên tiếp ai và ai+1, Combsort so sánh hai phần tử ai và ai+g với g ≥ 1.

Trang 1

Combsort là một thuật toán sắp xếp ngắn gọn đơn giản, chạy trong thời gian ngắn Thuật toán của nó khá giống với Bubble sort, điểm khác biệt

là thay vì so sánh hai phần tử liên tiếp ai và ai+1, Combsort so sánh hai phần tử ai và ai+g với g ≥ 1

Thuật toán được trình bày như sau:

g := n;

repeat

g := max(g * 10 div 13, 1); // trunc(g / 1.3)

swapped := false;

for i := 1 to n-g do

if a[i]>a[i+g] then

( swap(a[i], a[i+g]); swapped := true; )

until (g=1) and (not swapped);

1.3 gọi là hệ số thu nhỏ, sau nhiều thử nghiệm, người ta cho rằng đây

là hệ số tối ưu cho Combsort Độ phức tạp của thuật toán Combsort là O(n logn)

Input

• Input gồm một dòng duy nhất chứa các phần tử cần sắp xếp Mỗi phần tử là một số nguyên có trị tuyệt đối nhỏ hơn hoặc bằng 109

Output

• In ra một dòng gồm các phần tử của dãy ban đầu sau khi đã sắp xếp

50 40 30 20 10 10 20 30 40 50

Ngày đăng: 29/07/2016, 20:02

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w