数据结构
文章平均质量分 77
super_chris
这个作者很懒,什么都没留下…
展开
-
【知识收藏】二叉树性质
1.任何一棵二叉树,度为0的结点数比度为2的结点数多一。2.满二叉树(所有结点度数均为0或2),内结点(包括根节点)的个数比叶子结点少一。3.对于满二叉树(所有结点度数均为0或2),根结点到所有叶子结点的路径长度之和为E,根结点到所有内部结点的路径长度之和为I,内部结点(包括根节点)个数为n,则:E=I+2n。4.二叉树的第I层(根为第0层)上至多有2^I个结点。5.高度为K的二叉原创 2009-08-18 22:12:00 · 1500 阅读 · 0 评论 -
POJ 1683 所谓DFS(深度优先遍历)
所谓深度优先遍历,把问题想象成层次问题,每一层都有几个选项可供选择。我们按深度优先遍历,就是只要当前选项还有可能对,就相信它是对的,往下一层次进发,如果到了某一层证明当前选择不可行,则选择该层其它选项,如果该层无其它选项可选,即该层所有选项都不可选,则说明问题出在上一层,则回溯到上一层重复“选择其它选项,若无其它选项继续回溯”的操作。深度优先遍历的控制方法就像上面提到的那样:在某一层,原创 2009-09-27 21:23:00 · 1554 阅读 · 1 评论 -
数据结构简要遍览
数据结构者,数据的存储方式也,不同的存储方式决定了数据之间不同的关系,不同的关系决定了在这组数据上执行各种操作的复杂度。数据结构问题就是在问题面前选择合适的结构来存储问题数据,从而比较高效地完成要求的操作。下面简要介绍各种经典数据结构的存储思想(即数据间关系)、实现方式和所擅长的操作。 第一层次数据结构: 第一层次数据结构有“语元”的感觉,是实现复杂数据结构的基础,其本身也有一原创 2010-01-26 19:18:00 · 1941 阅读 · 1 评论 -
POJ 3349 所谓哈希
数据结构者,“数据间关系+数据存储方式”也。选择何种数据结构,取决于需要解决什么样的问题。任何一个数据结构都有它的优势,这个优势说白了就是“本数据结构在进行XX操作时快”,而选择何种数据结构就看要解决的问题需要在数据结构上进行何种操作来决定。哈希表就是体现这个道理的一个很好的例子。哈希表提供这么一种其它数据结构并不擅长的操作:“在理想情况下,能用常量时间查找到指定值的数据”。原创 2009-12-15 23:17:00 · 1484 阅读 · 0 评论 -
POJ 3087 shuffle'em up map判重
这道题说的是洗牌,已知一沓牌的初始状态,问经过多少次洗牌能达到给定状态,或者永远不能。想起前阵子看的《欺诈游戏》里面的一场扑克赛,秋山逼迫洗牌手用perfect_shuffle,其实就是这道题里的这种洗牌方式,结果成功算出了所有牌的位置。这也说明这种洗牌方式对牌的排列是有铁打的规律的,确实如此,简单思考便可以得出这个规律,于是问题便得以简化,不断地按照洗牌规律变换牌的排列顺序,每次洗完牌对比目标状原创 2009-12-26 20:21:00 · 1859 阅读 · 0 评论 -
理解B树 B+树
老杨说过树形结构是计算机系统里最重要的数据结构因为它有这很好的平衡性能,即多余多种操作都有着比较好的操作性能。因为对树的操作时间复杂度大多与树的高度有关,而树的高度又是N的对数级,因此性能很令人满意。但是有一种情况,希望树的高度比通常的以2为底的对数还要好一些才能满意,那就是对硬盘的IO。因为对硬盘的IO是一项很费时间的事情,所以在数据量大到单单内存不足以存储而不得不存放在硬盘里的时候,我们常常希望通过尽可能少的磁盘IO次数就能找到我们所要的数据,对其进行访问。这也是各大IT公司面试常常问到的问题——海量数原创 2010-12-23 12:40:00 · 4450 阅读 · 0 评论 -
二叉树先序、中序、后序遍历的非递归实现
<br /> <br />在网上看了一些用非递归实现先序中序后序遍历二叉树的代码,都很混乱,while、if各种组合嵌套使用,逻辑十分不清晰,把我也搞懵了。想了大半天,写了大半天,突然开了窍,实际上二叉树的这三种遍历在逻辑上是十分清晰的,所以才可以用递归实现的那么简洁。既然逻辑如此清晰,那么用非递归实现也应该是清晰的。<br />自认为自己的代码比网上搜到的那些都清晰得多,好理解得多。<br />稍微解释一下:<br />先序遍历。将根节点入栈,考察当前节点(即栈顶节点),先访问当前节点,然后将其出栈(已经原创 2010-11-23 14:34:00 · 1706 阅读 · 3 评论 -
单调队列 POJ2823
看这个问题:An array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving from the very left of the array to the v原创 2011-07-08 15:10:54 · 1393 阅读 · 0 评论