![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
c++练习
文章平均质量分 51
c++练习
德林恩宝
计算机科学与技术专业研究生,研究方向为计算机视觉[E-mail:baolliu@foxmail.com]
展开
-
05-树8 File Transfer(文件传输)--路径压缩
题目描述We have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another. Is it possible to send a file from any comp...原创 2019-08-02 21:54:13 · 283 阅读 · 0 评论 -
Seek the Name, Seek the Fame(KMP)
DescriptionThe little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names to their newly-born babies. They seek the name, and at the same ...原创 2019-09-05 18:54:49 · 476 阅读 · 0 评论 -
最长的公共子序列究竟有多长?
首先要明白什么是最长的公共子序列:就是按照从前到后的顺序,两个字符串的字符有相同的并且符合前后顺序的就是公共子序列,比如:ABDVFGWBVFG这两个字符串的最大公共子序列就是BVFG;再比如ASDFGHJKADERHTK这两个字符串的最大公共子序列就是ADHK;然后呢,我们考虑实施的办法,单纯的想可以借助什么工具呢?有字符串,还有比较功能,能存数的也只有数组了,一一比较的话,最...原创 2019-09-17 00:51:57 · 195 阅读 · 0 评论 -
栈的顺序输入,多种输出计算实现
题目描述若栈的输入序列为 1234,给出所有可能的输出序列。思路解答一个数在栈的面前要么是入栈,要么是出栈,也就这两者可能选择。这个题很明显用回溯或者DFS是可以解决的,但是对于掌握递归不是很熟练的我来说,还是有一定的难度,所以先把理解实现写下来。代码实现#include<iostream>using namespace std;void SearchFunctio...原创 2019-09-28 19:28:31 · 2571 阅读 · 0 评论 -
10-排序5 PAT Judge
(转)The ranklist of PAT is generated from the status list, which shows the scores of the submissions. This time you are supposed to generate the ranklist for PAT.Input Specification:Each input file ...转载 2019-08-13 23:02:00 · 170 阅读 · 0 评论 -
(浙大-19-夏-数据结构)二叉搜索树的操作集问题
题目描述:本题要求实现给定二叉搜索树的5种常用操作。函数接口定义:BinTree Insert( BinTree BST, ElementType X );BinTree Delete( BinTree BST, ElementType X );Position Find( BinTree BST, ElementType X );Position FindMin( BinTree B...原创 2019-07-31 23:41:43 · 169 阅读 · 0 评论 -
双向链表的一些操作
双向链表的构造:#include<iostream>using namespace std;typedef struct Node *list;typedef struct Node listlink;struct Node{ char value; list leftptr; list rightptr;};void Input();void Output(l...原创 2019-09-29 16:35:42 · 191 阅读 · 0 评论 -
08-图9 关键活动 (c语言)
假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不可以同时开设,因为它们有先后的依赖关系,...原创 2019-08-11 22:47:32 · 514 阅读 · 1 评论 -
全排列 2
题目描述给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]思路分析:#include<iostream>#include<algorithm>#include<cstring>using namespace std;#define Maxsiz...原创 2019-10-03 13:59:33 · 386 阅读 · 0 评论 -
03-树3 Tree Traversals Again
题目描述:An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, th...原创 2019-07-31 01:01:50 · 173 阅读 · 0 评论 -
全排列 1
题目描述(来源:力扣(LeetCode))给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]思路解答典型的DFS或者回溯算法的运用,也类似于八皇后问题代码详解#include<iostream>#include<...原创 2019-10-03 11:40:17 · 222 阅读 · 0 评论 -
10-排序4 统计工龄 (20 分)
给定公司N名员工的工龄,要求按工龄增序输出每个工龄段有多少员工。输入格式:输入首先给出正整数N(≤105 ),即员工总人数;随后给出N个整数,即每个员工的工龄,范围在[0, 50]。输出格式:按工龄的递增顺序输出每个工龄的员工个数,格式为:“工龄:人数”。每项占一行。如果人数为0则不输出该项。输入样例:810 2 0 5 7 2 5 2输出样例:0:12:35:2...原创 2019-08-12 23:11:42 · 1123 阅读 · 0 评论 -
D. 实验11_13_链表交换
题目描述问题描述:已知一个正整数序列,序列元素个数未知,但至少有两个元素,你的任务是建立一个单链表用于存储这个正整数序列。然后实现交换此链表中任意指定的两段,第一段为[s1,t1],第二段[s2,t2]。s1、t1、s2、t2代表链表的第几个节点,且满足s1<=t1,s2<=t2,t1<s2,s2一定小于等于链表节点的总个数。正整数的输入用-1作为结束标志,注意-1不算这个正...原创 2019-03-20 21:14:49 · 1427 阅读 · 6 评论 -
回溯算法--最大完全子图
假期 2020.01.20题目描述从一个给定的图的关系中,找出其中最大的完全子图。思路分析一句话,回溯就搞定了。如果需要详细分析,请见本博主博文回溯算法–01背包问题,与此问题类似。代码解析#include<iostream>#include<algorithm>using namespace std;#define Max_size 100in...原创 2020-01-20 18:42:50 · 1490 阅读 · 0 评论 -
地图染色(四色定理)问题
四色定理数学语言描述:将平面任意地细分为不相重叠的区域,每一个区域总可以用1234这四个数字之一来标记而不会使相邻的两个区域得到相同的数字。该定义摘自百度百科问题描述该定义摘自百度百科地图着色(map coloring)是一种组合构形,它是对于地图面集的一种分划,分配地图的每一个面一种颜色,使得相邻的面(指有公共边界边)具有不同的颜色,称这样一种色的分配为这个地图的一个着色,或者说,将地图...原创 2019-09-27 11:21:58 · 11274 阅读 · 0 评论 -
Leetcode-5099. 验证回文字符串 III
题目描述Leetcode-2019-第 10 场双周赛第四题给出一个字符串 s 和一个整数 k,请你帮忙判断这个字符串是不是一个「K 回文」。所谓「K 回文」:如果可以通过从字符串中删去最多 k 个字符将其转换为回文,那么这个字符串就是一个「K 回文」。示例输入:s = “abcdeca”, k = 2输出:true解释:删除字符 “b” 和 “e”。提示:1 <= s.l...原创 2019-10-07 14:11:50 · 256 阅读 · 0 评论 -
Period(KMP)
DescriptionFor each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix is a periodic string. That is, fo...原创 2019-09-08 09:55:57 · 260 阅读 · 0 评论 -
回溯算法--地图着色
假期 2020.01.21题目描述有一张地图,如何使得相邻区域颜色不一样,而使用m种颜色将地图全部着色的方案个数。思路分析回溯算法的典型运用算法分析按照回溯算法的思想,我们一开始将节点确定第一一种颜色,然后进行与前面的和该节点相邻节点进行颜色比较,检测是否相同,若相同,就尝试下一种颜色,否则,继续下一个节点的颜色着色。知道所有节点颜色都已着上,那么输出该方案即可。或者请看的本博主...原创 2020-01-21 11:18:18 · 2470 阅读 · 3 评论 -
分支界限法--最优工程布线
#include<iostream>#include<algorithm>#include<queue>using namespace std;constexpr auto Max_size = 100;int map[Max_size][Max_size];//地图int shortest_dist;//最优值struct Position {...原创 2020-01-23 23:55:17 · 792 阅读 · 0 评论 -
Complete Binary Search Tree(完整的二叉搜索树)
题目描述(来源于中国大学MOOC-陈越,何钦铭 - 数据结构-2019夏)A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:二进制搜索树(BST)以递归方式定义为具有以下属性的二叉树:The left subtree of a node ...原创 2019-08-06 14:49:59 · 2128 阅读 · 2 评论 -
BUPT第三次文件作业2(分析见代码)
实验12的Problem4将一个.c文件1复制到另一个文件2中,要求过滤掉文件1中的注释。注释类型:以//开头或者/**/ 中的注释。用一个函数完成该功能。基本要求:假设//或者/**/不会出现在printf语句中。高级要求:要能处理printf中的//或者/**/void copy(char *sourceFileName,char *newsourceName){ int fla...原创 2019-04-11 12:27:20 · 405 阅读 · 0 评论 -
06-图1 列出连通集(lists the connectivity set)
题目描述:Given one hasN vertices andFor the undirected graph of the E side, please list all connected sets with DFS and BFS respectively. Suppose the vertices from 0 toN − 1 number. When searching, let’s...原创 2019-08-05 00:19:58 · 141 阅读 · 0 评论 -
Leetcode-5081. 步进数(赛)
题目描述Leetcode-2019-第 10 场双周赛第三题如果一个整数上的每一位数字与其相邻位上的数字的绝对差都是 1,那么这个数就是一个「步进数」。例如,321 是一个步进数,而 421 不是。给你两个整数,low 和 high,请你找出在 [low, high] 范围内的所有步进数,并返回 排序后 的结果。示例输入:low = 0, high = 21输出:[0,1,2,3,4,...原创 2019-10-07 12:56:05 · 223 阅读 · 0 评论 -
畅通工程(Prim算法)
Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( < 100 );随...原创 2019-09-02 20:27:22 · 464 阅读 · 0 评论 -
很长时间? = 数独+回溯(DFS)
这几天数据结构作业较多涉及回溯算法,课堂上老师讲到数独的可行解问题,虽然以前做过一点,但不是很了解数独,但是凭借目前掌握的回溯或者DFS还是可以解出一些答案的。思路解答:数独的规则无外乎就是同一行,同一列不能存在相同的数,这么说来,和八皇后问题感觉差不多了,利用这个规则限制,作为判断条件,然后当然是多次遍历,试错,计算解了。代码实现:#include<iostream> ...原创 2019-09-29 13:28:58 · 234 阅读 · 0 评论 -
Cyclic Nacklace(kmp)
Problem DescriptionCC always becomes very depressed at the end of this month, he has checked his credit card yesterday, without any surprise, there are only 99.9 yuan left. he is too distressed and t...原创 2019-09-07 23:48:36 · 196 阅读 · 0 评论 -
07-图5 Saving James Bond - Hard Version(困难版)
This time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy, was captured by a group of drug dealers. He was sent to a small piece of land ...原创 2019-08-10 20:17:44 · 386 阅读 · 0 评论 -
图解八皇后问题(递归)
(以高斯为代表的许多数学家先后研究过这个问题。后来,当计算机问世,通过计算机程序的运算可以轻松解出这个问题)题目描述八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。正确方法如图(其中一种放法)本题采...原创 2019-07-27 00:11:26 · 13275 阅读 · 3 评论 -
简化01背包问题
题目描述一个简化的背包问题:一个背包能装总重量为 T,现有 n 个物件,其重量分别为(W1、W2、…、Wn)。问能否从这 n 个物件中挑选若干个物件放入背包中,使其总重量正好为 T ?若有解则给出全部解,否则输出无解。思路解答采用DFS的深度遍历的算法实现,在调用函数中设置一个for循环,定义每次第一个拿入背包的物品,在被调函数中,设置一个visited[ n ]数组,记录是否被访问,并且...原创 2019-09-28 19:36:10 · 907 阅读 · 0 评论 -
09-排序3 Insertion or Heap Sort( 插入或堆排序)
According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, insertion sort removes one element from the input data, ...原创 2019-08-12 22:20:49 · 394 阅读 · 0 评论 -
BUPT第三次文件作业3(分析见代码)
主要函数声明#include<stdio.h>#include<string.h>#include<stdlib.h>struct File{//结构体储存商品的属性 int id;//商品记录号 char name[37];//商品名 int num;//商品数量 float price;//商品价格};struct File ...原创 2019-04-11 12:40:19 · 443 阅读 · 0 评论 -
05-树7 堆中的路径
题目描述:(来源于中国大学MOOC-陈越、何钦铭-数据结构-2019夏)Insert a series of given numbers into a small top heap that is initially empty H[]. The path ifrom H[i]the root node is then printed for any given subscript .将一系列...原创 2019-08-01 21:02:57 · 202 阅读 · 0 评论 -
08-图7 公路村村通 (30 分)
现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。输出格式:输出村村通需要的最低成本。如果输入数据不足以保...原创 2019-08-11 11:14:16 · 833 阅读 · 0 评论 -
老鼠走迷宫问题(堆栈+链表解决+命令行+动画版(ege))
老鼠走迷宫问题题目描述堆栈的应用有一个相当有趣的问题,就是实验心理学中有名的“老鼠走迷宫”问题。老鼠走迷宫问题的陈述是:假设把只大老 鼠放在一个没有盖子的大迷宫盒的入口处, 盒中有许多墙使得大部分的路径都被挡住而无法前进。老鼠可以按照尝试错误的方法找到出口。不过,这只老鼠必须具备走错路时就会退回来并把走过的路记下来,避免下次重复走同样的路,就这样直到找到出口为止。简单来说,老鼠行进时,必须遵...原创 2019-07-25 01:10:58 · 4005 阅读 · 2 评论 -
(浙大-19-夏-数据结构学习笔记) 哈夫曼树与哈夫曼编码
哈夫曼树的定义(来源于中国大学MOOC-陈越、何钦铭-数据结构-2019夏)带权路径长度(WPL): 设二叉树有n个叶子结点,每个叶子结点带 有权值 Wk,从根结点到每个叶子结点的长度为 Ik,则每个叶子结 点的带权路径长度之和就是:最优二叉树或哈夫曼树: WPL最小的二叉树第一个WPL第二个WPL第三个WPL哈夫曼树的构造每次把最小的权值合并typedef stru...原创 2019-08-03 23:39:41 · 857 阅读 · 0 评论 -
(浙大-19-夏-数据结构)KMP算法剖析
KMP算法是由D.E. Knuth、J.H.Morris和V.R. Pratt提出的,可在一个主文本字符串S内查找一个词W的出现位置。该算法主要实现过程(右移):在已经匹配的模式串子串中,找出最长的相同的前缀和后缀,然后移动使它们重叠。尽量跳过一些不必要的比较,提高模式匹配的效率。例题:给定两个由英文字母组成的字符串 String 和 Pattern,要求找到 Pattern 在...原创 2019-08-26 00:10:04 · 393 阅读 · 0 评论 -
BUPT第三次文件作业1(分析见代码)
```c#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int count[200]={0},k=1,maxlen=0,minlen=1000,line=0,lowercase=0,digit=0,capital=0,others=0,i=0; /...原创 2019-04-11 12:25:05 · 436 阅读 · 0 评论 -
Power Strings(KMP)
DescriptionGiven two strings a and b we define ab to be their concatenation. For example, if a = “abc” and b = “def” then ab = “abcdef”. If we think of concatenation as multiplication, exponentiation...原创 2019-09-08 10:38:10 · 308 阅读 · 1 评论 -
07-图4 哈利·波特的考试
题目描述哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果想把猫变成鱼,可以通过念一个直接魔咒lalala,也可以将猫变老鼠、老鼠变鱼的魔咒连起来念:hahahehe。现在哈利·波特的手里有一本教材,里面...原创 2019-08-07 16:26:48 · 92 阅读 · 0 评论 -
(北邮第二次OJ)A. 实验11_9_链表归并
A. 实验11_9_链表归并 运行时间限制: 1000 运行内存限制: 65536 作者: scshuanghai 是否specialjudge: False 题目描述 问题描述:已知有两个递增的正整数序列A...原创 2019-03-27 11:12:05 · 2020 阅读 · 0 评论