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