博客专栏  >  编程语言   >  步步为营-算法学习

步步为营-算法学习

ACM初级、中级的文章。 理论+题解,对于基本功的提升很有帮助。

关注
2 已关注
16篇博文
  • 步步为营(十六)搜索(二)BFS 广度优先搜索

    上一篇讲了DFS,那么与之对应的就是BFS,也就是 宽度优先遍历,又称广度优先搜索算法。首先,让我们回忆一下什么是“深度”: 更学术点的说法,可以看做“单位距离下,离起始状态的长度” 那么广度是什...

    2015-07-30 17:13
    512
  • 步步为营(十五)搜索(一)DFS 深度优先搜索

    前方大坑预警!先讲讲什么是搜索吧。有一天你去一个果园摘梨子,果农告诉你,有一棵树上有一个金子做的梨子,找到就是你的,你该怎么找? 地图如下: S 0 0 0 0 0 0 0 0 0 0 0 0...

    2015-07-30 16:47
    578
  • 步步为营(十四)常用数据结构(7)STL-Queue(队列)priority_queue(优先队列)

    与栈相对的就是队列了,二者都是容器适配器一级的数据结构。Queue的默认实现也是通过Deque实现的(这丫的通吃啊),也就最大程度保证了效率和空间的平衡。 Queue是 先进先出(FIFO)...

    2015-07-28 16:12
    546
  • 步步为营(十三)常用数据结构(6)STL-Stack(栈)

    在聊Stack之前,要说到一个概念:容器适配器。 之前我们接触了两种容器:顺序容器(也有叫序列容器的)和关联容器。那么已知的数据结构有那么多,我们是不是都需要去一一实现呢? 当然不用,因为那些数据...

    2015-07-28 15:44
    593
  • 步步为营(十二)常用数据结构(5)STL-Set(集合)

    Set也属于关联容器,而且和Map的实现方法相同,都是红黑树。 简单来说,Set就是key和Value相等的Map。 值得注意的是,由于红黑树的自平衡性(额,也就是自动排序的结果),所以不能直接修...

    2015-07-28 11:29
    458
  • 步步为营(十一)常用数据结构(4)STL-Map(应该是散列表)

    Map的直译是图,但是STL里的map容器和图半毛钱关系都没有~Map属于关联容器,而之前讨论的List,Vector,Deque都属于顺序容器。 差别么…… 个人觉得,关联容器是单纯查找用的,顺...

    2015-07-28 11:07
    454
  • 步步为营(十)常用数据结构(3)STL-Deque(双端队列)

    和前两个不同,双端队列(double-end queue)更像是一种折衷的产物。可能是人们发现Vector和List的水火不容,于是发明了这么一个集两家所长的东西。 双端队列具有Vector和Li...

    2015-07-28 10:43
    641
  • 步步为营(九)常用数据结构(2)STL-Vector(动态数组)

    和链表相对的就是数组了,这两种结构是最基本的数据结构类型了。 C++自身实现了一个array容器,但是STL里的动态数组Vector(直译为向量)使用更方便,这里还是讨论下Vector。 Vec...

    2015-07-28 10:21
    507
  • 步步为营(八)常用数据结构(1)STL-List(双端链表)

    额,这个真的有必要说么~~ 链表是空间动态分配的,内存不连续,不能随机进行访问和储存的结构。 链表的存储方式注定了链表在查找时面临着O(n)的时间复杂度,虽然看起来不算很大,但是这是单次查找的复杂...

    2015-07-28 10:15
    425
  • 步步为营(七)贪心(6)小结

    贪心,递推,动态规划,这三种算法思想都是很难掌握的。因为没有死板的公式和套路的代码,只能通过日常的学习和思考,去不断加深自己对这类题目的敏感度和熟练度,提高自己的思维能力,才能对这类题目游刃有余。 ...

    2015-07-24 11:17
    336
  • 步步为营(六)贪心(5)最小区间覆盖问题

    关于区间相关贪心算法的讨论,点击这里,有一份详细的资料,还有几个问题没有说到 《浅谈信息学竞赛中的区间问题》 在贪心算法的层面上,我们能够进行解决的区间覆盖,指的就是最小区间覆盖问题。 ...

    2015-07-24 10:45
    392
  • 步步为营(五)贪心(4)部分背包问题

    部分背包问题虽说是归于背包问题的一种,而且背包问题大多数是通过动态规划的出的结果,但是贪心算法解部分背包,不管是思想还是操作上来说,都是非常简单的。首先,我们来看一下什么叫做部分背包。 有N个商品...

    2015-07-23 11:48
    696
  • 步步为营(四)贪心(3)区间选点问题

    区间选点的问题大致可以描述为: 给定N个区间[a,b],取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以重复)。关于贪心算法的验证过程就不再赘述,现在思考一下贪心策略的制定。 对于...

    2015-07-23 10:25
    357
  • 步步为营(三)贪心(2)选择不相交区间

    之前基本了解了贪心的基本思想,现在我们来看一下比较经典的几个贪心问题。 这篇文章讨论的是”选择不相交区间“,具体什么意思,我们同样先看一道题。题目来源:NYOJ 14 ...

    2015-07-20 10:03
    450
  • 步步为营(二) 贪心(1)理论初探

    等待了一年时间,这个系列的坑终于又开始填了……不说废话,直接开始正题。1.何为贪心? 贪心算法实际上指的是把问题划分成一个一个的子问题,然后针对当前的子问题,求出局部最优解,然后将子问题的最优解合...

    2015-07-18 09:04
    474
  • 步步为营(一) 知识架构和要点分析

    打算写算法学习的系列很久了,看到网上那些大牛一个个都写了很多总结和知识点讲解,逐渐明白自己的不足主要就是在基本功上。很多算法和思路需要重新梳理才能更好的掌握和运用,正好集训还有一个月时间,够自己慢慢的...

    2014-07-21 21:16
    921
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部