算法
文章平均质量分 90
Dorby .
我只想要一个我想要的生活
展开
-
PBFT和RBFT
https://www.cnblogs.com/xiaohuiduan/p/12210891.htmlPBFT拜占庭算法无法动态的添加结点,RBFT高鲁棒性拜占庭算法实现了动态的添加和删除节点。PBFT和RBFT算法的容错度一样:f,N,quorumf:代表PBFT中最多能容忍的错误的节点数量 f=[(N-1)/3]N:代表的是总共节点的数量quorum:达到共识需要的节点数量 quorum=[(N+f+1)/2] //总共的节点加上错误的节点除以2,加1是为了平分后共识大于错误节点因此PBF转载 2021-10-05 11:24:33 · 517 阅读 · 0 评论 -
CCF计算机软件能力认证真题:201312-3
公众号:CppCoding最大的矩形题目在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。输入第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空原创 2020-08-05 22:58:31 · 251 阅读 · 0 评论 -
CCF计算机软件能力认证真题:201312-2 ISBN号码
公众号:CppCodingISBN号码题目每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。识别码的计算原创 2020-08-04 22:31:11 · 180 阅读 · 0 评论 -
CCF计算机软件能力认证真题:201312-1 出现次数最多的数
出现次数最多的数题目给定n个正整数,找出他们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。输入输入的第一行只有一个正整数n(1 <= n <= 1000),表示数字的个数。输入的第二行有n个整数s1,s2,…,sn (1 <= si <= 10000,1 <= i <= n)。相邻的数用空格分开。输出输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。输入样例610 1 10 20 30 20输出原创 2020-08-04 14:49:22 · 170 阅读 · 0 评论 -
Manacher`s(马拉车)算法
Manacher’s Algorithm,中文名叫马拉车算法,是一位名叫Manacher的人在1975年提出的一种算法,解决的问题是求最长回文子串,神奇之处在于将算法的时间复杂度精进到了O(N),下面我们来详细介绍下这个算法的思路。马拉车算法本质还是中心扩散,为了避免回文串是奇数还是偶数的情况,要对原始的回文串字符进行添加分隔符操作。第一步:添加分隔符假设分隔符为“#”,在字符串“ababa...原创 2019-11-28 21:33:58 · 171 阅读 · 0 评论 -
森林与二叉树的转换
公众号:CppCoding树转化为二叉树1.树中的所有相邻的兄弟之间加一条线。2.对于树中的每个结点,只保留它与第一个孩子结点之间的连线,删去它与其他孩子结点之间的连线。3.以树的根结点为轴心,将整棵树顺时针转动一定的角度。兄弟结点是右孩子子结点是左孩子森林转化为二叉树1.将森林中的每棵树转化为二叉树。2.第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵树的根结点作为前一...原创 2019-11-07 21:19:17 · 2727 阅读 · 1 评论 -
二叉树的三种遍历方法
公众号:CppCoding递归实现//结点数据类型定义typedef struct node{ int data; struct node *lchild,*rchild;}node;node* root;先序遍历算法void PreOrderTraversal(BiTree *T){ if(T){ cout << T->data; PreOrder...原创 2019-11-04 22:54:35 · 189 阅读 · 0 评论 -
回朔法:八皇后问题
公众号:CppCoding问题描述:在八行八列的国际象棋棋盘摆放着八个皇后。若两个皇后位于同一行、同一列或者同一对角线,则称为互相攻击。现在要求八个皇后不能互相攻击,即不能位于同一行、同一列或者同一对角线。#include <conio.h>//conio头文件是vc里面的内置文件,若果在其他编译器需根据报错改头文件#include <iostream>usi...原创 2019-11-04 16:39:27 · 157 阅读 · 0 评论 -
递归回朔法:迷宫问题
公众号:CppCoding回朔法简介:假设某问题的解决步骤可能有N步,且每一步的解决方法有M种,按照某种顺序依次试探每一步中的各种方法,一旦失败,就返回上一步继续其他的M-1种方法。简而言之就是,从一条路往前走,不能进则退回来,换一条路。#include <vector>#include <iostream>using namespace std;//把迷宫...原创 2019-11-03 22:09:31 · 192 阅读 · 0 评论 -
约瑟夫问题
问题描述Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓。于是决定了自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀。然后下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于...原创 2019-10-28 23:15:38 · 147 阅读 · 0 评论