摘要: STL链表list 作为STL中的另一神器——链表list,你不可不知! (1).优势和劣势 1. 优势:功能众多,使用便利,插入删除快速 2. 劣势:功能太多,令人眼花缭乱,难以分辨 (2).用法 1.构造 list<int> l 建立一个空链表l list<int> l(length,num) 阅读全文
posted @ 2018-08-30 20:32 安昙つきし 阅读(273) 评论(0) 推荐(0) 编辑
摘要: STL集合set set是STL中的神器之一,它有两个功能 (1).排序 (2).去重 一.操作方法(需要头文件 set ) (1). 定义 set<int> s 定义一个整型的集合s (2). 插入和删除 s.insert(元素) 在s中插入一个元素 s.erase(数值) 删除集合s中等于这一数 阅读全文
posted @ 2018-08-30 20:31 安昙つきし 阅读(124) 评论(0) 推荐(0) 编辑
摘要: STL队列queue的扩展——优先队列 1. 优先队列的使用 优先队列有类似于堆的作用,因此,优先队列也分为大根堆和小根堆 队列中的元素会自动进行排序 接下来谈谈它们的使用方法: (1).定义 1.priority_queue<int> q 定义一个整型的大根堆q 2.priority_queue< 阅读全文
posted @ 2018-08-30 20:28 安昙つきし 阅读(268) 评论(0) 推荐(0) 编辑
摘要: STL队列queue的扩展——双端队列 你是否还苦恼与STL中队列的单边 插 入 别怕,deque来拯救你了 deque是一种能够支持双端插入的链式储存结构,使用起来十分方便 c++STL提供了以下几种操作: (1).定义 deque<类型> q 定义一个某种类型的双端队列 (2).压入和弹出 一. 阅读全文
posted @ 2018-08-30 20:27 安昙つきし 阅读(483) 评论(0) 推荐(0) 编辑
摘要: c++常见的STL容器 1 队列—queue 我想很多人都知道这个神器—queue 队列queue(FIFO),!!需要头文件 #incldue<queue> 有几种常见操作: 1.queue<类型> q 定义一个某类型的队列q 2.q.push(元素) 把一个元素压入队列q的队首 3.q.pop( 阅读全文
posted @ 2018-08-30 20:20 安昙つきし 阅读(258) 评论(0) 推荐(0) 编辑
摘要: Tarjan算法 消息的传递 描述: 我们的郭嘉大大在曹操这过得逍遥自在,但是有一天曹操给了他一个任务,在建邺城内有N(<=1000)个袁绍的奸细,将他们从1到N进行编号,同时他们之间存在一种传递关系,即若C[i,j]=1,则奸细i能将消息直接传递给奸细j。现在曹操要发布一个假消息,需要传达给所有奸 阅读全文
posted @ 2018-08-30 13:24 安昙つきし 阅读(362) 评论(0) 推荐(0) 编辑
摘要: Top_Sort+Floyd实现关键路径 阅读全文
posted @ 2018-08-30 13:23 安昙つきし 阅读(148) 评论(0) 推荐(0) 编辑
摘要: FLoyd算法的扩展 Floyd算法是一种求任意点到任意点的最短距离。可以求边权为负值,有向图、无向图等的最短路径。但是边权可以有负权值的边,但不能有包含负权值边组成的回路,不然算出来的就不是正确答案!!这个算法效率很低可以说是暴力。但是这种暴力是带着动态规划的暴力!!但是却不能有边权和为负值的回路 阅读全文
posted @ 2018-08-30 13:22 安昙つきし 阅读(305) 评论(0) 推荐(0) 编辑
摘要: Kosaraju两次深搜实现强连通分量 kosaraju算法进行两次dfs,第一次在原图上进行,并在结点递归调用返回时将结点压入一个栈中,第二次dfs在原图的逆图上进行,并且初始点选择栈中最上面的点,每次dfs所访问的点构成一个强连通分量。 第一次看kosaraju算法的时候,我很不解,为什么第二次 阅读全文
posted @ 2018-08-30 13:21 安昙つきし 阅读(160) 评论(0) 推荐(0) 编辑