![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
知何似
心之所向,意之所趋。
展开
-
计数排序和桶排序
计数排序link.转载 2020-05-04 19:47:04 · 159 阅读 · 0 评论 -
堆排序
堆排序1.什么是堆排序2.代码实现3.总结1.什么是堆排序二叉堆的特性:最大堆的堆顶是整个堆中的最大元素。最小堆的堆顶是整个堆中的最小元素。最大堆:当我们删除一个最大堆的堆顶(并不是完全删除,而是跟末尾的节点交换位置),经过自我调整,第二大的元素就会被交换上来,成为最大堆的新堆顶。正如上图所示,当我们删除值为10的堆顶节点,经过调节,值为9的新节点就会顶替上来;当我们...原创 2020-04-30 20:50:06 · 96 阅读 · 0 评论 -
快速排序
快速排序1.初识快速排序2.双边循环法3.单边循环法4.非递归实现(栈实现)1.初识快速排序快速排序也属于交换排序。快速排序是在每一轮挑选一个基准元素,并让其他比它大的元素移动到序列的一边,比它小的元素移动到序列的另一边,从而把序列拆解成两个部分,这种思路叫分治法。快速排序算法:假如有n个元素,平均情况下需要排logn轮,即平均时间复杂度是O(nlogn)。如果原本一个逆序的数列要排序成...原创 2020-04-29 19:06:49 · 297 阅读 · 0 评论 -
冒泡排序及其优化
冒泡排序1.初识冒泡排序2.冒泡排序的优化(1)3.冒泡排序的优化(2)4.鸡尾酒排序1.初识冒泡排序冒泡排序(bubble sort),它是一种基础的交换排序。思想:把相邻的元素两两比较,当一个元素大于右侧相邻元素时,交换它们的位置,当一个元素小于或等于右侧相邻元素时,位置不变。待排序序列:第一轮排序:第2-7轮各轮排序的结果:冒泡排序是一种稳定的排序,值相等的元素并不会打...原创 2020-04-28 19:10:49 · 152 阅读 · 0 评论