2) 插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕,封装insertionSort 函数使用插入排序对数组进行从小到大排序var = [4,8,2,5,9,1,3,,7] 3) 分析插入排序事件复杂度
时间: 2023-09-11 20:10:57 浏览: 70
好的,下面是实现插入排序的代码:
```javascript
function insertionSort(arr) {
for (let i = 1; i < arr.length; i++) {
const current = arr[i];
let j = i - 1;
while (j >= 0 && arr[j] > current) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = current;
}
return arr;
}
const arr = [4, 8, 2, 5, 9, 1, 3, 7];
console.log(insertionSort(arr)); // [ 1, 2, 3, 4, 5, 7, 8, 9 ]
```
插入排序的时间复杂度为 O(n^2),因为它需要对数组中的每个元素进行比较和移动。虽然时间复杂度很高,但是在处理小规模数据时,插入排序的效率比较高。此外,在序列几乎有序的情况下,插入排序的效率也相当高。
阅读全文