![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++编程基础
is_fight
在读,努力,奋斗,向上 !
展开
-
C++数据结构与算法分析_排序(1)
学习数据结构,记录以c++语言解释的排序算法。介绍基础的插入排序、选择排序和冒泡排序,以及高效的希尔排序,剩下的堆排序、快速排序、归并排序、基数排序在下一篇提到。 关键属性/衡量标准 当对可选方法进行比较效率时,定义了两个时间复杂度关键属性:比较次数和数据移动次数。这两个的衡量标准是采取数量级O的表示方式,在最好情况(通常数据已排序)、最坏情况(数据按相反顺序排序)、平均情况(数据顺序是随机的...原创 2019-03-26 21:30:07 · 227 阅读 · 0 评论 -
C++数据结构与算法分析_排序(2)
前面已经介绍了基础的插入排序、选择排序和冒泡排序,以及高效的希尔排序,看这里。下面介绍剩余的部分。 五、高效的排序方法之堆排序 堆排序使用了选择排序固有的方法,采用找最大元素的方法,从数组末尾开始放置:将数组建堆,堆的根节点数值最大,将其放在数组末尾,然后排除掉这个已在最合适位置的元素,重新建堆,根节点代表的最大元素放到数组的倒数第二个位置,以此类推。代码实现: template<c...原创 2019-03-26 21:29:28 · 178 阅读 · 0 评论