
数据结构与算法
开心怪兽
这个作者很懒,什么都没留下…
展开
-
快速排序
快速排序: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直到各区间只有一个数。 代码实现(JS) function qSort(arr) { if (arr.length == 0) { return []; } let lesser = []; let greater = [原创 2021-03-23 13:14:15 · 76 阅读 · 0 评论 -
插入排序
插入排序 它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增 1 的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。 1.代码实现(JS) function insertionSort(arr) { var temp, inner; for (var outer = 1; outer < arr.length; outer++) {原创 2021-03-23 11:36:33 · 97 阅读 · 0 评论 -
选择排序
选择排序 选择排序从数组的第一个元素开始,将第一个元素与其他元素进行比较。检查完所有元素后,最小的元素放在数组的第一个位置,然后算法从第二个位置继。这个过程一直继续,直到进行到数组的倒数第二个元素,所有数据排序完成。 1.代码实现(JS) function selectSort(arr) { let min, temp; for (var i = 0; i <= arr.length - 1; i++) { min =原创 2021-03-22 23:36:58 · 109 阅读 · 0 评论 -
冒泡排序及时间复杂度
1.代码实现(JS) function bubbleSort(arr) { for (let i = arr.length; i > 0; --i) { for (let j = 0; j <= i - 1; ++j) { if (arr[j] > arr[j + 1]) { let temp = arr[j];原创 2021-03-22 21:46:05 · 429 阅读 · 0 评论