tài liệu bài giáng cấu trúc dữ liệu và giải thuật ngô công thắng học viện nông nghiệp việt nam tài liệu bài giáng cấu trúc dữ liệu và giải thuật ngô công thắng học viện nông nghiệp việt nam tài liệu bài giáng cấu trúc dữ liệu và giải thuật ngô công thắng học viện nông nghiệp việt nam
1 Sắp xếp chọn (Selection Sort) 1.1 Phương pháp • Giả sử cần xếp tăng dần dãy khoá a1, a2, , an • Ý tưởng thuật toán sau: CHƯƠNG GIẢI THUẬT SẮP XẾP – Chọn phần tử có khoá nhỏ – Đổi chỗ với phần tử a1 – Sau lặp lại thao tác với n-1 phần tử lại, lại lặp lại với n-2 phần tử lại, , phần tử GV Ngô Công Thắng Bộ môn Công nghệ phần mềm Khoa Công nghệ thông tin Website: dse.vnua.edu.vn/ncthang Email: ncthang@vnua.edu.vn Ngô Công Thắng Chương 6: Giải thuật xếp Bài giàng CTDL> - Chương 06 6.3 1.1 Phương pháp (tiếp) Sắp xếp chọn (Selection Sort) Sắp xếp chèn (Insert Sort) Sắp xếp bọt (Bubble Sort) Sắp xếp nhanh (Quick Sort) Sắp xếp vun đống (Heap Sort) Sắp xếp hòa nhập (Merge Sort) Ngô Công Thắng Bài giàng CTDL> - Chương 06 • Ví dụ: Cho dãy khoá ban đầu là: 6, 10, 1, 8, với n=5 i=1 1, 10, 6, 8, i=2 1, 6, 10, 8, i=3 1, 6, 8, 10, i=4 1, 6, 8, 9, 10 6.2 Ngô Công Thắng Bài giàng CTDL> - Chương 06 6.4 1.1 Phương pháp (tiếp) Sắp xếp chèn (Insert Sort) Procedure Selection_sort(a,n); For i:= to n-1 Do Begin {Tìm phần tử nhỏ vị trí k } k:=i; For j:=i+1 To n Do If a[j] < a[k] then k:=j {Đổi chỗ phần tử nhỏ k cho phần tử i} If k ≠ i then a[k]↔a[i]; End Return Ngô Công Thắng Bài giàng CTDL> - Chương 06 2.1 Phương pháp • Phương pháp người chơi hay dùng • Giả sử cần xếp tăng dần dãy khoá a1, a2, , an Ý tưởng thuật toán sau: – Các phần tử chia thành dãy đích: a1, , ai-1 (kết quả) dãy nguồn ai, , an – Bắt đầu với i=2, bước phần tử thứ i dãy nguồn lấy chèn vào vị trí thích hợp dãy đích cho dãy đích tăng dần Sau i tăng lên lặp lại 6.5 Ngô Công Thắng • Với giải thuật trình bày phép toán tích cực phép so sánh (a[j]