![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构 算法
文章平均质量分 75
iteye_5742
这个作者很懒,什么都没留下…
展开
-
插入排序、选择排序、合并排序几种排序比较
1、 插入排序,时间复杂度O(n^2) 一个数组A[0,...,n-1],将A[j]插入到子数组A[0,...,j-1]中,其中数组A[0,...,j-1]是排好序的(假如为非降序),把A[j]和A[j-1]->A[0]逐个进行比较,大的数往后移位,将A[j]插入适当的位置(找到最后一个比它大的,放在前面)。 递归法,为排序A[0,...,n-1],先排序A[0,...,n-2],然后把...原创 2012-04-19 17:36:46 · 353 阅读 · 0 评论 -
数据结构----堆(2)
堆1中介绍了堆的定义性质以及建堆过程,这篇主要介绍堆排序以及堆的一种应用---优先级队列 1、堆排序 堆排序算法,先用build_max_heap将输入数组A[0,...,n-1]建立一个最大堆。因为数组中最大元素在A[0],则可以通过交换A[0]和A[n-1],此时将最大数A[n-1]存入结果数组result中,并将此节点去掉,此时数组就剩下A[0,...,n-2],由于互换,新的根元素可能...原创 2012-04-24 16:55:51 · 99 阅读 · 0 评论 -
快速排序及分析
快速排序 用于排序的最佳的实用选择,因其平均性能很好,期望运行时间O(nlog2^n),最坏情况运行时间为O(n^2). 1、快速排序 和合并排序一样,采取分治模式: (1)分解:数组A[p..r]被划分为两个(可能为空)子数组A[p..q-1]和A[q+1..r],使得A[p..q-1]中的每个元素都小于等于A[q],而A[q+1..r]大于A[q],q在此划分过程中进行计算。 ...原创 2012-05-21 11:29:25 · 103 阅读 · 0 评论 -
sizeof()问题
1、什么是sizeof 首先看一下sizeof在msdn上的定义: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a va...原创 2012-06-14 21:30:42 · 79 阅读 · 0 评论