摘要: 可以参考:http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html摘要 书中第10章10.4小节介绍了有根树,简单介绍了二叉树和分支数目无限制的有根树的存储结构,而没有关于二叉树的遍历过程。为此对二叉树做个简单的总结,介绍... 阅读全文
posted @ 2014-11-03 23:28 Jessica程序猿 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 链表 链表与数组的区别是链表中的元素顺序是有各对象中的指针决定的,相邻元素之间在物理内存上不一定相邻。采用链表可以灵活地表示动态集合。链表有单链表和双链表及循环链表。书中着重介绍了双链表的概念及操作,双链表L的每一个元素是一个对象,每个对象包含一个关键字和两个指针:next和prev。链表的操作包... 阅读全文
posted @ 2014-11-03 22:47 Jessica程序猿 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 摘要 本章介绍了几种基本的数据结构,包括栈、队列、链表以及有根树,讨论了使用指针的简单数据结构来表示动态集合。本章的内容对于学过数据结构的人来说,没有什么难处,简单的总结一下。1、栈和队列 栈和队列都是动态集合,元素的出入是规定好的。栈规定元素是先进后出(FILO),队列规定元素是先进先出(FI... 阅读全文
posted @ 2014-11-03 20:34 Jessica程序猿 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 摘要: 本章所讨论的问题是在一个由n个不同数值构成的集合中选择第i个顺序统计量问题。主要讲的内容是如何在线性时间内O(n)时间内在集合S中选择第i小的元素,最基本的是选择集合的最大值和最小值。一般情况下选择的元素是随机的,最大值和最小值是特殊情况,书中重点介绍了如何采用分治算法来实现选择第i小的元... 阅读全文
posted @ 2014-11-03 16:26 Jessica程序猿 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 摘要: 本章先回顾了前面介绍的合并排序、堆排序和快速排序的特点及运行运行时间。合并排序和堆排序在最坏情况下达到O(nlgn),而快速排序最坏情况下达到O(n^2),平均情况下达到O(nlgn),因此合并排序和堆排序是渐进最优的。这些排序在执行过程中各元素的次序基于输入元素间的比较,称这种算法为比较... 阅读全文
posted @ 2014-11-03 13:27 Jessica程序猿 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 快速排序对于n个数的输入数组来说,快速排序是一种最坏情况时间复杂度为O(n2)的排序算法,虽然最坏情况时间复杂度很差,但是快速排序通常是实际排序中最好的选择,因为它的平均性能非常好:它的期望时间复杂度是O(nlgn),而且O(nlgn)中隐含的常数因子非常小。1、快速排序的描述 快速排序算法采用的... 阅读全文
posted @ 2014-11-03 11:05 Jessica程序猿 阅读(411) 评论(0) 推荐(0) 编辑