![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 61
bolite
啊B的记事本
展开
-
KMP算法
理解时看的文章博客 文章讲的很详细 其中重要的有next数组原创 2021-08-16 21:13:17 · 177 阅读 · 0 评论 -
拓 扑 排 序
一.什么是拓扑排序 拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。 且该序列必须满足下面两个条件: 每个顶点出现且只出现一次。 若存在一条从顶点A 到顶点B 的路径,那么在序列中顶点A 出现在顶点B 的前面。 二.图片描述 该算法解决的问题类似于办事的流程一样 在做一件事情之前必须完成之前的一件或多件相关的事情 三.代码的实现图示 1.先在所有任务中找到没有需要其他任务做铺垫的任务,图片中体现为点1。将1原创 2021-08-09 17:16:56 · 1179 阅读 · 0 评论 -
深度搜索+回溯
L2-2 病毒溯源 (25 分) 病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化。 现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链。 在此假设给出的变异都是由突变引起的,不考虑复杂的基因重组变异问题 —— 即每一种病毒都是由唯一的一种病毒突变而来,并且不存在循环变异的情况。 输入格式: 输入在第一行中给出一个正整数 N(≤10^4 ),即病毒种类的总数。于是我们将所有病毒从 0 到 N−1 进行编号。随后 N 行,原创 2021-05-30 20:55:41 · 165 阅读 · 0 评论 -
用并查集解决图类问题
6-2-3 深度优先搜索 红色警报 (25 分) 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。 输入格式: 输入在第一行给出两个整数N(0 < N ≤ 500)和M(≤ 5000),分别为城市个数(于是默认城市从0到N-1编号)和连接两城市的通路条数。随后M行,每行给出一条通路所连接的两个城市的编号,其间以原创 2021-05-30 15:45:39 · 83 阅读 · 0 评论 -
英语数字转换器
英语数字转换器 STL中map,stack和string的运用 描述: 在这个问题中,将用英语给你一个或多个整数。你的任务是将这些数字转换成整型表示。数字范围从-999,999,999到999,999,999.下面是你的程序必须考虑的详尽的英语单词表: negative, zero, one, two, three, four,five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen,fifteen, sixteen, se原创 2021-04-28 16:01:26 · 1223 阅读 · 6 评论 -
2021-04-19
7-9 L2-1涂颜色(25分) (25 分) 【题目描述】 由数字0组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成。现要求把闭合圈内的所有空间都填写成2.例如:6×6的方阵(n=6),涂色前和涂色后的方阵如下: 【输入格式】 每组测试数据第一行一个整数n(1≤n≤30) 接下来n行,由0和1组成的n×n的方阵。 方阵内只有一个闭合圈,圈内至少有一个0。 【输出格式】 已经填好数字2的完整方阵。 输入样例: 6 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0原创 2021-04-19 23:06:16 · 273 阅读 · 0 评论 -
链表去重
3-2-1 链表 链表去重 (25 分) 给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后的链表 21→-15→-7,还有被删除的链表 -15→15。 输入格式: 输入在第一行给出 L 的第一个结点的地址和一个正整数 N(≤1e5,为结点总数)。一个结点的地址是非负的 5 位整数,空地址 NULL 用 -1 来表示。原创 2021-04-15 10:22:15 · 4826 阅读 · 2 评论 -
DFS和BFS的初步理解
DFS(深度优先搜索) BFS(广度优先搜索) 目前初识图的内容,对这俩个遍历有一个理解 DFS 理解:会沿着离该节点下标最接近的下标一直探寻下去,直到该下标除了上一个节点以外没有其他节点相连而结束 BFS ...原创 2021-04-13 13:22:16 · 242 阅读 · 1 评论 -
并查集
关于并查集的一个代码讲解 该文章借鉴俩位大佬的代码 大佬 大佬 题目: 4-3-1 并查集 朋友圈 (25 分) 某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。 输入格式: 输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总数和俱乐部的个数。后面的M行原创 2021-02-26 22:47:39 · 113 阅读 · 0 评论 -
二叉树的复原--编号复原
二叉树的复原 最近写到一些题目,类型为: 给出一些节点加左,右孩子的节点编号,要求复原该二叉树,然后输出一些要求的东西。 例题1: 对于给定的二叉树,本题要求你按从上到下、从左到右的顺序输出其所有叶节点。 输入格式: 首先第一行给出一个正整数 N(≤10),为树中结点总数。树中的结点从 0 到 N−1 编号。随后 N 行,每行给出一个对应结点左右孩子的编号。如果某个孩子不存在,则在对应位置给出 “-”。编号间以 1 个空格分隔。 输出格式: 在一行中按规定顺序输出叶节点的编号。编号间以 1 个空格分隔,行原创 2021-02-15 21:41:20 · 1146 阅读 · 0 评论 -
二叉树的遍历--由俩个不同的遍历复原二叉树
二叉树的遍历 在最近期间做到一系列相似的题: # 给了树的前序遍历或者后续遍历加上中序遍历,要求复原二叉树。 #在陈越的数据结构那门课中我们知道只有前序和后序遍历结果知道是无法复原二叉树的 上例题: 1.给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。 输出格式: 在一行中输出该树的层序遍历的序列。数字间以1个空原创 2021-02-13 19:22:15 · 1224 阅读 · 1 评论