随笔分类 -  C++

上一页 1 ··· 3 4 5 6 7
摘要:2017-07-28 17:27:41 writer:pprp 有两种优化方法: 题目:亲戚 代码如下: 阅读全文
posted @ 2017-07-28 19:50 pprp 阅读(219) 评论(0) 推荐(0)
摘要:2017-07-28 16:12:51 writer:pprp 题目简单描述: 第一行,N代表单词库中有N个单词,随后是N行单词,紧接着M代表待查单词数目,随后是M行待查单词 输出:拼写单词错误的单词数目 算法:用到了哈希表进行快速查找 代码如下: 阅读全文
posted @ 2017-07-28 17:17 pprp 阅读(581) 评论(0) 推荐(0)
摘要:2017-07-28 16:01:16 writer:pprp 哈希表:通过节点储存位置和其关键字建立某种直接关系,使得查找的时候无需作比较或者做很少次数的比较就能找到相应的记录; 哈希函数的几种构造方法: 自己制定规则的哈希表 代码如下: 阅读全文
posted @ 2017-07-28 16:13 pprp 阅读(198) 评论(0) 推荐(0)
摘要:2017-07-28 09:04:44 writer:pprp 前向星是一种星形表和司法,把所有的边集中在一起,形成一个边列表,比如第i条边(u,v) = w应当分别把起点、终点、权值存在三个数组中,但是下表相同 前向星是按照起始节点从小到大排序,除了你能直接用起点终点定位以外,前向星几乎是完美的。 阅读全文
posted @ 2017-07-28 09:24 pprp 阅读(295) 评论(0) 推荐(0)
摘要:2017-07-27 22:37:32 writer:pprp 题目如下: 代码如下: 阅读全文
posted @ 2017-07-27 22:40 pprp 阅读(225) 评论(0) 推荐(0)
摘要:2017-07-27 22:21:04 writer:pprp 该算法的本质是动态规划,形式简单,复杂度高为O(n^3); d[i][j] = max(d[i][k]+d[k][j],d[i][j]); 采用的基本手段是松弛 适用:解决多源最短路径问题 代码如下: 阅读全文
posted @ 2017-07-27 22:38 pprp 阅读(194) 评论(0) 推荐(0)
摘要:2017-07-27 22:18:11 writer:pprp SPFA算法实质与Bellman-Ford算法的实质一样,每次都要去更新最短路径的估计值。 优化:只有那些在前一遍松弛中改变了距离点的值的点,才可能引起他们邻接点的距离估计值的改变; 做法:使用队列来缩小搜索范围的; 首先要将个点距离估 阅读全文
posted @ 2017-07-27 22:21 pprp 阅读(204) 评论(0) 推荐(0)
摘要:2017-07-27 16:02:48 writer:pprp 在BEllman-Ford算法中,其最外层的循环的迭代次数为n-1,如果不存在负权回路,需要迭代的次数是远远小于n-1; 如果在某一次迭代中,松弛操作没有被执行,则说明这次迭代所有的边都没有被松弛,表示任意两点之间在之后的迭代中没有可能 阅读全文
posted @ 2017-07-27 16:08 pprp 阅读(335) 评论(0) 推荐(0)
摘要:2017-07-27 08:58:08 writer:pprp 参考书目:张新华的《算法竞赛宝典》 Bellman-Ford算法是求有向图单源最短路径的,dijkstra算法的条件是图中任意一条边的权都是正的;BF算法可以解决存在负边权的图; 算法流程分为三个部分: 例题:虫洞 代码如下: 阅读全文
posted @ 2017-07-27 15:57 pprp 阅读(458) 评论(0) 推荐(0)
摘要:2017-07-26 22:30:45 writer:pprp dijkstra算法法则:设置顶点集合S,首先将起始点加入该集合,然后根据起始点到其他顶点的路径长度, 选择路径长度最小的顶点加入到集合S,根据所加入顶点更新源点到其他顶点的路径长度,然后再选取最小边的顶点; 实现:用邻接矩阵 适用条件 阅读全文
posted @ 2017-07-26 23:10 pprp 阅读(290) 评论(0) 推荐(0)
摘要:2017-07-26 14:35:49 Prims算法,是一种基于“贪心”的求最小树的算法 ,以每次加入一个邻接边来建立最小树,直到找到N-1个边为止。 规则:以开始时生成树的集合为起始的顶点,然后找出与生成树集合邻接的边中,加权值最小的边来生成树, 为了确定新加入的边不会造成回路,所以每一个新加入 阅读全文
posted @ 2017-07-26 22:27 pprp 阅读(518) 评论(0) 推荐(0)
摘要:2017-07-26 10:32:07 writer:pprp Kruskal算法是根据边的加权值以递增的方式,一次找出加权值最低的边来建最小生成树;并且每次添加的边不能造成生成树有回路,直到找到N-1个边为止; 适用范围:边集比较少的时候,可以考虑用这个方法; 做法:将图形中所有的边的权值,递增排 阅读全文
posted @ 2017-07-26 10:45 pprp 阅读(287) 评论(0) 推荐(0)
摘要:2017-07-25 22:18:16 writer:pprp 定义:(来源于搜狗百科)并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。 作用:用来判断两个节点是否属于同一颗树; 操作:1,查找,Find 2,合并,Merg 阅读全文
posted @ 2017-07-25 22:49 pprp 阅读(274) 评论(0) 推荐(0)
摘要:2017-07-25 21:40:22 writer:pprp 在DFS的基础上加上了一个BFS函数 阅读全文
posted @ 2017-07-25 21:44 pprp 阅读(330) 评论(0) 推荐(0)
摘要:2017-07-17 12:00:12 writer:pprp 题目:找到你想要的数的 代码如下: lower_bound()返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了一个不小于value 的值。该 阅读全文
posted @ 2017-07-17 12:43 pprp 阅读(191) 评论(0) 推荐(0)
摘要:int Gcd(int l,int r){ return r==0?l:Gcd(r,l%r); } //最小公倍数 l / Gcd(l,r) * r; 阅读全文
posted @ 2017-07-17 11:45 pprp 阅读(281) 评论(0) 推荐(0)
摘要:基础题 阅读全文
posted @ 2017-07-15 22:30 pprp 阅读(234) 评论(0) 推荐(0)
摘要:我的第一个博客 阅读全文
posted @ 2017-07-14 18:15 pprp 阅读(274) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7