tailieunhanh - Bài giảng Giới thiệu các thuật toán sắp xếp

Mời các bạn tham khảo Bài giảng Giới thiệu các thuật toán sắp xếp sau để nắm bắt được những kiến thức về tiếp cận sắp xếp đơn giản, tiếp cận sắp xếp độ phức tạp O(nlog(n)), sắp xếp theo cơ số, sắp xếp hòa nhập file lớn. | Giới thiệu Các thuật toán sắp xếp 1 Nội dung trình bày • Tiếp cận sắp xếp đơn giản Sắp xếp chọn Sắp xếp chèn Sắp xếp nổi bọt • Tiếp cận sắp xếp độ phức tạp O(nlog(n)) Sắp xếp theo phân đoạn (Quick sort) Sắp xếp hòa nhập Sắp xếp vung đống • Một số tiếp cận khác Sắp xếp theo cơ số Sắp xếp hòa nhập file lớn 2 Sắp xếp đếm - countingsort • Bài toán Có n phần tử cần sắp xếp là kiểu nguyên Các giá trị của phần tử không lớn hơn giá trị k • Có cách nào đó xác định được nhanh nhất phần tử x đầu vào sẽ xác định tại vị trí nào trong danh sách đầu ra • Ví dụ: Nếu kiểm tra được có 17 phần tử bé hơn phần tử x, vậy x sẽ được bắt đầu tại vị trí 18 Dùng một mảng trung gian để đếm vị trí xuất hiện của x trong dãy đầu ra 3 Sắp xếp đếm - countingsort (t) Đếm thông qua thống kê số lần xuất hiện của các phần tử Cộng dồn để xác định vị trí xuất hiện cuối của phần tử tiếp theo trong danh sách • Phân phối các giá trị theo vị trí đã xác định 4 Sắp xếp đếm – countingsort (t) • Thuật toán – countingsort (t) • Input: dãy A[0N-1] nguyên, miền giá trị [0k] • Output: dãy B[0N] đã được sắp xếp 1. for(i=0->k) c[i]=0; 2. for(i=0->N-1) c[a[i]]++; 3. .

TỪ KHÓA LIÊN QUAN