data structre and algorithm
文章平均质量分 84
zhongxiaobin
这个作者很懒,什么都没留下…
展开
-
Dynamic Programing
Dynamic programming is a confusing name for a programming technique that dramatically reduces the runtime of algorithms: from exponential to polynomial. The basic idea is to try to avoid solving the s原创 2009-08-09 19:41:00 · 560 阅读 · 0 评论 -
贪心算法学习
一、 贪心策略的定义 【定义1】 贪心策略是指从问题的初始状态出发,通过若干次的贪心选择而得出最优值(或较优解)的一种解题方法。 其实,从"贪心策略"一词我们便可以看出,贪心策略总是做出在当前看来是最优的选择,也就是说贪心策略并不是从整体上加以考虑,它所做出的选择只是在某种意义上的局部最优解,而许多问题自身的特性决定了该题运用贪心策略可以得到最优解或较优解。 二、贪心算法的特点原创 2009-06-08 22:03:00 · 2540 阅读 · 0 评论 -
树状数组简介
树状数组是一个查询和修改复杂度都为log(n)的数据结构,假设数组a[1...n],那么查询a[1] + …… + a[i] 的时间是log级别的,而且是一个在线的数据结构,支持随时修改某个元素的值,复杂度也为log级别。来观察一下这个图:令这棵树的结点编号为C1,C2……Cn。令每个结点的值为这棵树的值的总和,那么容易发现:C1 = A1C2 = A1 + A2C3 = A3C4 = A1 +转载 2009-06-10 19:52:00 · 1161 阅读 · 1 评论 -
并查集学习(5)
最近学习了并查集、线段树、树状数组以及RMQ(Range Minimum Query)这几种关于快速查找 的数据结构和算法,并做了一些ACM的题目巩固了一下。准备写一下总结。 本次总结一下并查集: 并查集对解决不相交集合的合并查找操作非常有效,主要提供了一下几个方法: make_set(x) 把每一个元素初始化为一个集合 find_set(x) 查找一个元素所在的集合 union_set(x,y)原创 2009-06-08 21:48:00 · 631 阅读 · 0 评论