- 博客(5)
- 收藏
- 关注
原创 排序算法-快速排序
快速排序运用了递归的思想,通过选取一个点pivot,将比它小的数放在左边,比它大的数放在右边;这样就将原来的数组切分成比pivot小的左子树和比pivot大的右子树组;再对两个子数组进行一样的操作。常见的算法会直接选择左值来作为pivot点。当数组本身为有序数组时,每一个元素都会与左值比较,但都不会交换,比较次数达到。这里用三数中值分隔解决这个问题:取三个元素,将大小居中的元素作为pivot点。
2022-11-14 16:58:10 95
原创 排序算法-选择排序
从数组中选择最小的数字,将它与第一个数字交换位置;再从剩下的数字中选择最小的数字,将其与第二个数字交换位置。不断进行这样的操作,直到排序完毕。
2022-11-14 14:27:57 136
原创 排序算法-插入排序
插入排序顾名思义,插入的方式进行排序;从数列第二个数字开始向前插入,每次都将当前元素插入到左侧之中。可以利用二分查找左侧的有序数组,寻找合适的插入位,减少比较次数。
2022-11-14 13:51:31 195
原创 排序算法-冒泡排序
重复地走访要排序的数列,每次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名冒泡排序。
2022-11-14 13:33:57 144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人