Hướng dẫn và mô phỏng thuật toán sắp xếp Insertion Sort
Bài viết được sự cho phép của tác giả Phạm Công Sơn
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.
Sau đây là mô phỏng thuật toán Insertion Sort
Tạo dãy số ngẫu nhiên để mô phỏng sắp xếp
- 20
- 25
- 54
- 95
- 66
- 10
- 90
- 30
- 67
- 65
- ?
- ?
- ?
Mã nguồn được thực hiện trên javascript
var InsertionSort = function () { $.extend(this, new SortX()); this.onCreateScripts = function (array, scripts) { var $this = this; var addScript = function (a1, a2, action) { scripts.push($this.createScript0(a1, a2)); // Script lấy ra 2 số cần so sánh scripts.push($this.createScript1(a1, a2)); // Script để thực hiện so sánh giữa 2 số return action(); } var j, last; for (var i = 1; i < array.length; i++) { last = array[i]; j = i; while ((j > 0) && addScript(array[j - 1], last, () => array[j - 1].number > last.number)) { var a1 = array[j - 1]; array[j] = a1; scripts.push($this.createScript2(a1, last)); j = j - 1; } array[j] = last; } } } var pageSortX = new PageSortX(); pageSortX.sortX = new InsertionSort(); pageSortX.start();
Sơn 20
Bài viết gốc được đăng tải tại sonpc20.com
Có thể bạn quan tâm:
- Các thuật toán sắp xếp phổ biến và JavaScript
- Thuật toán Quick Sort là gì?
- Thuật toán sắp xếp trong C++
Xem thêm Việc làm Developer hấp dẫn trên TopDev
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- i iOS 18 có gì mới? Có nên cập nhật iOS 18 cho iPhone của bạn?
- G Gamma AI là gì? Cách tạo slide chuyên nghiệp chỉ trong vài phút
- P Power BI là gì? Vì sao doanh nghiệp nên sử dụng PBI?
- K KICC HCMC x TOPDEV – Bước đệm nâng tầm sự nghiệp cho nhân tài IT Việt Nam
- T Trello là gì? Cách sử dụng Trello để quản lý công việc
- T TOP 10 SỰ KIỆN CÔNG NGHỆ THƯỜNG NIÊN KHÔNG NÊN BỎ LỠ
- T Tìm hiểu Laptop AI – So sánh Laptop AI với Laptop thường
- M MySQL vs MS SQL Server: Phân biệt hai RDBMS phổ biến nhất
- S SearchGPT là gì? Công cụ tìm kiếm mới có thể đánh bại Google?