#算法的乐趣

算法和数据结构~Sqlserver索引使用的B树

B树相关概念在B-树中查找给定关键字的方法是,首先把根结点取来,在根结点所包含的关键字K1,…,Kn查找给定的关键字(可用顺序查找或二分查找法),若找到等于给定值的关键字,则查找成功;否则,一定可以确定要查找的关键字在Ki与Ki+1之间,Pi为指向子树根节点的指针,此时取指针Pi所指的结点继续查找,直至找...

7-9 旅游规划 (25 分)(Dijkstra算法)

题意: ​ 思路:单源最短路问题,Dijkstra算法搞定就可以了,因为要找出最便宜的最短路,所以需要在更新最短距离的时候加一个条件(即当最短距离相等的时候,如果该路径的花费更小,就更新最小花费)就可以了。之前自己学的最短路的水平也就仅限于模板题的水平,现在可以在条件上稍微加一些变化,做了数据结构的...
代码星球 ·2020-07-18

7-11 社交网络图中结点的“重要性”计算 (30 分)(Dijkstra算法)

题意: 思路:对每个输入的点跑一遍dijkstra算法,然后对这个点到所有点的距离求和按公式输出就可以了。(这次尝试了用数组模拟链表来做最短路问题,刷新了自己对最短路的理解)这里构造链表的过程我的理解一直有误差,第一行的式子中参与代码构建的是Next[cnt]=head[y];head[y]=cnt++;这两...

KMP算法模板

sub[]代表子串,str[]代表原串,next[]代表当sub[i]!=str[j]时,子串需要跳到的地方,实现代码如下:获取next数组的代码:1voidGetNext()//求子串中的相同的真前缀和真后缀2{3memset(next,0,sizeof(next));4next[0]=-1;5inti=0,j=-1...
代码星球 ·2020-07-18

Dijkstra算法模板

自己对Dijstra算法的理解是:首先输入保存点,边的权值(注意无向图和有向图在保存时的区别)。将表示从起点st到顶点i的距离的d[i]数组的每一个值初始化为INF,令d[st]=0。 遍历d[]数组的下标i(即顶点i)这个操作是通过优先队列来实现的,然后遍历以顶点i为起点的边,更新d[i]的最小值。最后直接...
代码星球 ·2020-07-18

弗洛伊德算法模板

可以求得任意两点之间的最短路问题1intd[maxn][maxn];//d[st][en]表示边e={u,v}的权值(不存在时设为INF,d[i][j]=0)2intV;//顶点的个数34voidFloyd()5{6for(intk=0;k<V;k++)7for(inti=0;i<V;i++)8for(in...
代码星球 ·2020-07-18

匈牙利算法求最大匹配(HDU-4185 Oil Skimming)

如下图:要求最多可以凑成多少对对象大佬博客:https://blog.csdn.net/cillyb/article/details/55511666https://blog.csdn.net/denghecsdn/article/details/77619308https://www.cnblogs.com/wang...

UVALive 3026(KMP算法)

UVALive3026   KMP中next[]数组的应用;题意:给出一个字符串,问该字符串每个前缀首字母的位置和该前缀的周期。思路:裸KMP直接上就是了;设该字符串为str,str字符串的长度为len,next[]的有关前缀的周期的性质:如果len%(len-next[len])=&nb...
代码星球 ·2020-07-18

欧几里得算法用法总结

当年没填起来的坑,迟早会再一次掉进去!!!想想还是将现在自己会用了的部分记录下来,以后再做补充。欧几里得算法:     到目前为止也只是用来求一下两个整数的最大公约数(感觉又是一个巨大无比的坑)。暂时先把这个用法记下来吧。//非递归实现longlonggcd(longl...

manacher(马拉车)算法

断断续续地看了两天的马拉车算法,可算是给搞明白了(贼开心),这算是自己搞懂的第一个算法了(23333333333333)这个算法照目前自己的理解来看,貌似就只能求个字符串中的回文串(接触这个算法是要求最长的回文串),虽然应用的范围有点少,但还是要学习滴,不然遇到类似的题目就gg了。可以在线性时间内求得答案,时间复杂度为...

python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等)

#-*-coding:utf-8-*-#python27#xiaodeng#python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等)#http://www.cnblogs.com/BeginMan/p/3328172.html#以常见的摘要算法MD5为例,计算出一个字符串的MD5值importh...

共识算法:Paxos

两阶段提交Two-phaseCommit(2PC):保证一个事务跨越多个节点时保持ACID特性;两类节点:协调者(Coordinator)和参与者(Participants),协调者只有一个,参与者可以有多个。过程:准备阶段:协调者询问参与者事务是否执行成功;提交阶段:如果事务在每个参与者上都执行成功,协调者发送通知让...
代码星球 ·2020-07-14

共识算法:PBFT、RAFT

转自:https://www.cnblogs.com/davidwang456/articles/9001331.html区块链技术中,共识算法是其中核心的一个组成部分。首先我们来思考一个问题:什么是共识?对于现实世界,共识就是一群人对一件或者多件事情达成一致的看法或者协议。那么在计算机世界当中,共识是什么呢?&nbs...
代码星球 ·2020-07-14

51Nod 算法马拉松28 B题 相似子串 哈希

   两个字符串相似定义为:  1.两个字符串长度相等  2.两个字符串对应位置上有且仅有至多一个位置所对应的字符不相同  给定一个字符串,每次询问两个子串在给定的规则下是否相似。给定的规则指每次给出一些等价关系,如‘a'=’b',‘b'=’c'等,注意这里的等...

51Nod 算法马拉松28 C题 栈 单调队列

  有一个栈,有3种操作:  Ο从栈顶加入一个元素  Ο从栈底加入一个元素  Ο从栈顶弹出一个元素  现在,求每次操作后栈内元素的最大值和mod(1e9+7)  n次操作,n<=1e7   这题对于博主这样的蒟蒻,做出来了,万分欣喜。  我们在搞一个栈的同...
首页上一页...5556575859...下一页尾页