码迷,mamicode.com
首页 >  
搜索关键字:大话数据结构    ( 208个结果
排序算法总结
这部分为了日后方便复习,直接摘录《大话数据结构》P428~430。不擅长记忆,理解每种排序算法之后,面试时候可以推一下。 ...
分类:编程语言   时间:2016-04-26 00:23:02    阅读次数:195
快速排序
对《大话数据结构》P417~P427—快速排序,进行了自己的理解并完善了代码。 一、快排普通版 基本思想:通过一趟排序,将待排记录分割成以枢轴为分界的独立的两部分,一部分的数都比枢轴小,另一部分的数都比枢轴大。这句话也体现了枢轴的作用。再通过递归,对每部分继续排序。 void QSort(SqLis ...
分类:编程语言   时间:2016-04-25 22:19:36    阅读次数:273
算法的时间复杂度计算方法
《大话数据结构》中对算法的时间复杂度定义如下: “算法分析时,语句的总执行次数T[n]是关于问题规模n的函数,进而分析T[n]随n的变化情况并确定T[n]的数量级。算法的时间复杂度,也就是算法的时间度量,记做T[n]=O(f[n]),表示随问题规模n的增大,算法的执行时间的增长率和f[n]的增长率相 ...
分类:编程语言   时间:2016-04-25 14:43:06    阅读次数:225
堆排序
对《大话数据结构》P396~P406—堆排序,进行了自己的理解并完善了代码。 一、堆排序之前需要掌握以下知识 1、完全二叉树 例如下图这样的,编号出现空档,就不是完全二叉树。 2、完全二叉树的性质 这三个性质中最重要的是1,看图就很好理解,即如果i>1,i的双亲节点是i/2。 3、堆 4、堆的性质 ...
分类:编程语言   时间:2016-04-24 15:45:24    阅读次数:253
希尔排序
对《大话数据结构》P389~P396—希尔排序,进行了自己的理解并完善了代码。 代码和解释如下(VS2012测试通过): 运行结果: 关于时间复杂度的分析,直接把书上的内容copy过来,不是很理解,欢迎讨论。 ...
分类:编程语言   时间:2016-04-22 23:54:39    阅读次数:158
大话数据结构读书笔记系列(六)树<上篇>
第6章 树 6.2 树的定义 之前我们一直在谈的是一对一的线性结构,可现实中,还有很多一对多的情况需要处理,所以我们需要研究这种一对多的数据结构——“树”。 树(Tree)是n(n≥0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、……、Tm,其中每一个集合本...
分类:其他好文   时间:2016-04-22 19:51:42    阅读次数:245
简单选择排序
对《大话数据结构》P384~P385—简单选择排序,进行了自己的理解并完善了代码。 简单选择排序如下: 代码和解释如下(VS2012测试通过): 运行结果: 时间复杂度分析见草稿图。 时间复杂度是O(n2)。 ...
分类:编程语言   时间:2016-04-20 19:47:00    阅读次数:322
冒泡排序
对《大话数据结构》P378~P383—冒泡排序,进行了自己的理解并完善了代码。 三种冒泡排序如下: 1、冒泡排序初级版 代码和解释如下(VS2012测试通过): 运行结果: 2、冒泡排序正宗版 代码和解释如下(VS2012测试通过): 运行结果: 3、冒泡排序优化版 代码和解释如下(VS2012测试 ...
分类:编程语言   时间:2016-04-20 14:56:23    阅读次数:217
二叉树的三种遍历(前序,中序,后序)
参考《大话数据结构》P178~184——二叉树的遍历。 用书上的这个二叉树: 代码和解释如下(VS2012测试通过): 运行结果: 下图方便理解递归。但写递归代码的时候不用这么麻烦,毕竟人脑更擅长考虑递推。重点放在求解目标上,以及递归结束的条件。 ...
分类:其他好文   时间:2016-04-19 14:00:38    阅读次数:205
二叉树的建立(前序遍历法)
参考《大话数据结构》P187~188——二叉树的建立。 举个简单的例子: 代码和解释如下(VS2012测试通过): 运行结果: ...
分类:其他好文   时间:2016-04-19 13:47:14    阅读次数:150
208条   上一页 1 ... 11 12 13 14 15 ... 21 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!