原文:经典算法题每日演练——第十二题 线段树

这一篇我们来看树状数组的加强版线段树,树状数组能玩的线段树一样可以玩,而且能玩的更好,他们在区间求和,最大,平均 等经典的RMQ问题上有着对数时间的优越表现。 一:线段树 线段树又称 区间树 ,在每个节点上保存一个区间,当然区间的划分采用折半的思想,叶子节点只保存一个值,也叫单元节点,所 以最终的构造就是一个平衡的二叉树,拥有CURD的O lgN 的时间。 从图中我们可以清楚的看到 被划分成线段 ...

2012-12-08 00:37 3 4213 推荐指数:

查看详情

经典算法每日演练——第二十二 奇偶排序

  这个专题因为各种原因好久没有继续下去了,MM吧。。。你懂的,嘿嘿,不过还得继续写下去,好长时间不写,有些东西有点生疏了, 这篇就从简单一点的一个“奇偶排序”说起吧,不过这个排序还是蛮有意思 ...

Thu Feb 27 09:25:00 CST 2014 18 5474
经典算法每日演练——第十三 赫夫曼

赫夫曼又称最优二叉树,也就是带权路径最短的,对于赫夫曼,我想大家对它是非常的熟悉,也知道它的应用场景, 但是有没有自己亲手写过,这个我就不清楚了,不管以前写没写,这一篇我们来玩一把。 一:概念 赫夫曼里面有几个概念,也是非常简单的,先来看下面的图: 1. ...

Sun Dec 09 22:27:00 CST 2012 5 6634
经典算法每日演练——第十四 Prim算法

图论在数据结构中是非常有趣而复杂的,作为web码农的我,在实际开发中一直没有找到它的使用场景,不像那样的频繁使用,不过还是准备 仔细的把图论全部过一遍。 一:最小生成 图中有一个好玩的东西叫做生成,就是用边来把所有的顶点联通起来,前提条件是最后形成的联通 ...

Thu Dec 13 03:12:00 CST 2012 6 6731
经典算法每日演练——第三 猴子吃桃

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天刚好剩一个。问猴子第一天摘了多少个桃子? 分析: 这是一套非常经典算法,这个题目体现了算法 ...

Wed Aug 08 20:40:00 CST 2012 23 23502
经典算法每日演练——第十 树状数组

有一种数据结构是神奇的,神秘的,它展现了位运算与数组结合的神奇魅力,太牛逼的,它就是树状数组,这种数据结构不是神人是发现不了的。 一:概序 假如我现在有个需求,就是要频繁 ...

Wed Dec 05 20:50:00 CST 2012 22 7102
经典算法每日演练——第十九 双端队列

话说大学的时候老师说妹子比工作重要~,工作可以再换,妹子这个。。。所以。。。这两个月也就一直忙着Fall in love,嗨,慢慢调整心态吧, 这篇就选一个简单的数据结构聊一聊,话说有很多 ...

Thu Mar 21 02:09:00 CST 2013 10 5860
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM