C++
半途行走
从此养成好习惯
展开
-
DS图—图的邻接矩阵存储及度计算
题目描述假设图用邻接矩阵存储。输入图的顶点信息和边信息,完成邻接矩阵的设置,并计算各顶点的入度、出度和度,并输出图中的孤立点(度为0的顶点)--程序要求--若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio程序中若include多过一个头文件,不看代码,作0分处理不允许使用第三方对象或函数实现本题的要求输入测试...原创 2018-11-07 13:01:32 · 1130 阅读 · 0 评论 -
DS图—最小生成树---Prim算法和Kruskal算法
题目描述根据输入创建无向网。分别用Prim算法和Kruskal算法构建最小生成树。(假设:输入数据的最小生成树唯一。) 输入顶点数n n个顶点 边数m m条边信息,格式为:顶点1 顶点2 权值 Prim算法的起点v 输出输出最小生成树的权值之和 对两种算法,按树的生长顺序,输出边信息(Kruskal中边顶点按数组序号升序输出)...原创 2018-11-07 13:02:38 · 3351 阅读 · 1 评论 -
图的应用之——图的连通
题目描述给定一个图的邻接矩阵,请判断该图是否是连通图。连通图:任意两个顶点之间都有路径。--程序要求--若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio程序中若include多过一个头文件,不看代码,作0分处理不允许使用第三方对象或函数实现本题的要求输入第1行输入一个整数k,表示有k个测试数据第2行输入一...原创 2018-11-07 13:03:48 · 2632 阅读 · 1 评论 -
DS图—图的连通分量
题目描述输入无向图顶点信息和边信息,创建图的邻接矩阵存储结构,计算图的连通分量个数。输入测试次数t每组测试数据格式如下:第一行:顶点数 顶点信息第二行:边数第三行开始,每行一条边信息输出每组测试数据输出,顶点信息和邻接矩阵信息输出图的连通分量个数,具体输出格式见样例。每组输出直接用空行分隔。样例输入34 A B C D2A BA...原创 2018-11-07 13:04:39 · 911 阅读 · 1 评论 -
DS图应用--最短路径---迪杰斯特拉算法
题目描述给出一个图的邻接矩阵,再给出指定顶点v0,求顶点v0到其他顶点的最短路径 输入 第一行输入t,表示有t个测试实例第二行输入n,表示第1个图有n个结点第三行起,每行输入邻接矩阵的一行,以此类推输入n行第i个结点与其他结点如果相连则为1,无连接则为0,数据之间用空格隔开第四行输入v0,表示求v0到其他顶点的最短路径距离以此类推输入下一个示例 ...原创 2018-11-13 23:31:40 · 1459 阅读 · 0 评论 -
DS树+图综合练习--拓扑排序
题目描述已知有向图,顶点从0开始编号,求它的求拓扑有序序列。 拓扑排序算法:给出有向图邻接矩阵1.逐列扫描矩阵,找出入度为0且编号最小的顶点v2.输出v,并标识v已访问3.把矩阵第v行全清0重复上述步骤,直到所有顶点输出为止 --程序要求--若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio...原创 2018-11-13 23:33:28 · 1286 阅读 · 0 评论 -
无线网络 (Ver. I)
题目描述在东南亚发生了地震。 ACM(Asia Cooperated Medical team)已经用笔记本建立了无线网络,但是由于一次余震,网络中的所有计算机都损坏了。 计算机一个接一个地修复,网络逐渐开始工作。 由于硬件限制,每台计算机只能直接与距离它不远的计算机进行通信。 但是,每台计算机都可以被视为两台计算机之间通信的中介,也就是说,如果计算机A和计算机B可以直接通信,计算机C可以与...原创 2018-11-13 23:34:45 · 481 阅读 · 0 评论 -
关键路径
题目描述给定有向图无环的边信息,求每个顶点的最早开始时间、最迟开始时间。输出第一行:第个顶点的最早开始时间第二行:每个顶点的最迟开始时间样例输入9120 1 30 2 101 3 91 4 132 4 122 5 73 6 83 7 44 7 65 7 116 8 27 8 5样例输出0 3 10 12 22 1...原创 2018-11-20 17:14:46 · 1046 阅读 · 0 评论 -
森林叶子编码
题目描述给定一组森林,编写程序生成对应的二叉树,输出这颗二叉树叶结点对应的二进制编码.规定二叉树的左边由0表示,二叉树的右边由1表示。 输入输入:N B 表示N个树,每结点最多B个分支第2行至第N+1行,每个树的先序遍历 输出每行表示一个叶结点对应的二进制编码. 样例输入3 3 A B 0 0 0 C 0 0 0 D 0 0 0 E F ...原创 2018-10-31 00:08:05 · 1938 阅读 · 0 评论 -
DS树+图综合练习--二叉树高度
题目描述 给出一棵二叉树,求它的高度。二叉树的创建采用前面实验的方法。注意,二叉树的层数是从1开始输入第一行输入一个整数t,表示有t个二叉树第二行起输入每个二叉树的先序遍历结果,空树用字符‘0’表示,连续输入t行输出 每行输出一个二叉树的高度样例输入1AB0C00D00样例输出3思路#include<iostream>#include<string&...原创 2018-10-16 19:31:47 · 1159 阅读 · 0 评论 -
字符串中找出连续最长的数字串
题目描述读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。示例1输入复制abcd12345ed125ss123456789输出复制123456789思路#include<bits/stdc++.h>using namespac...原创 2018-10-16 23:21:50 · 108 阅读 · 0 评论 -
DS树+图综合练习--二叉树之最大路径
题目描述 给定一颗二叉树的逻辑结构(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构二叉树的每个结点都有一个权值,从根结点到每个叶子结点将形成一条路径,每条路径的权值等于路径上所有结点的权值和。编程求出二叉树的最大路径权值。如下图所示,共有4个叶子即有4条路径,路径1权值=5 + 4 + 11 + 7 = 27 路径2权值=5 ...原创 2018-10-23 19:20:11 · 1647 阅读 · 0 评论 -
DS二叉树--赫夫曼树解码
题目描述 已知赫夫曼编码算法和程序,在此基础上进行赫夫曼解码在赫夫曼树的类定义中增加了一个公有方法:int Decode(const string codestr, chartxtstr[]); //输入编码串codestr,输出解码串txtstr该方法如果解码成功则返回1,解码失败则返回-1,本程序增加宏定义ok表示1,error表示-1输入 第一行输入t,表示有t个测试实例 第二...原创 2018-10-23 19:24:58 · 2196 阅读 · 0 评论 -
DS二叉树--赫夫曼树的构建与编码
题目描述 给定n个权值,根据这些权值构造huffman树,并进行huffman编码参考课本算法,注意数组访问是从位置1开始要求:赫夫曼的构建中,默认左孩子权值不大于右孩子权值输入 第一行输入t,表示有t个测试实例 第二行先输入n,表示第1个实例有n个权值,接着输入n个权值,权值全是小于1万的正整数 依此类推输出 逐行输出每个权值对应的编码,格式如下:权值-编码即每行先输出1个权值,再输...原创 2018-10-23 19:26:12 · 2767 阅读 · 0 评论 -
DS树+图综合练习--构建邻接表
题目描述 已知一有向图,构建该图对应的邻接表。 邻接表包含数组和单链表两种数据结构,其中每个数组元素也是单链表的头结点,数组元素包含两个属性,属性一是顶点编号info,属性二是指针域next指向与它相连的顶点信息。单链表的每个结点也包含两个属性,属性一是顶点在数组的位置下标,属性二是指针域next指向下一个结点。 输入第1行输入整数t...原创 2018-10-31 00:01:39 · 1099 阅读 · 0 评论 -
DS图遍历--深度优先搜索
题目描述给出一个图的邻接矩阵,对图进行深度优先搜索,从顶点0开始注意:图n个顶点编号从0到n-1输入 第一行输入t,表示有t个测试实例第二行输入n,表示第1个图有n个结点第三行起,每行输入邻接矩阵的一行,以此类推输入n行第i个结点与其他结点如果相连则为1,无连接则为0,数据之间用空格隔开以此类推输入下一个示例 输出每行输出一个图的深度优先搜索...原创 2018-10-31 00:04:54 · 1401 阅读 · 0 评论 -
DS图遍历--广度优先搜索
题目描述 给出一个图的邻接矩阵,对图进行深度优先搜索,从顶点0开始注意:图n个顶点编号从0到n-1输入 第一行输入t,表示有t个测试实例第二行输入n,表示第1个图有n个结点第三行起,每行输入邻接矩阵的一行,以此类推输入n行第i个结点与其他结点如果相连则为1,无连接则为0,数据之间用空格隔开以此类推输入下一个示例 输出每行输出一个图的广度优...原创 2018-10-31 00:06:38 · 1643 阅读 · 0 评论 -
道路建设 (Ver. I)
题目描述有N个村庄,编号从1到N,你应该建造一些道路,使每个村庄都可以相互连接。两个村A和B是相连的,当且仅当A和B之间有一条道路,或者存在一个村C使得在A和C之间有一条道路,并且C和B相连。现在一些村庄之间已经有一些道路,你的任务就是修建一些道路,使所有村庄都连通起来,并且所有道路的长度总和是最小的。输入测试数据有多组第一行是整数N(3 <= N <= 10...原创 2018-11-17 11:26:08 · 2897 阅读 · 0 评论 -
DS静态查找之顺序索引查找
题目描述给出一个队列和要查找的数值,找出数值在队列中的位置,队列位置从1开始要求使用顺序索引查找算法,其中索引表查找和块内查找都采用不带哨兵、从头开始的顺序查找方法。 输入第一行输入n,表示主表有n个数据第二行输入n个数据,都是正整数,用空格隔开第三行输入k,表示主表划分为k个块,k也是索引表的长度第四行输入k个数据,表示索引表中每个块的最大值第五行输入t,表示有t个...原创 2018-11-20 17:16:24 · 2301 阅读 · 0 评论 -
DS排序--希尔排序
题目描述给出一个数据序列,使用希尔排序算法进行降序排序。间隔gap使用序列长度循环除2直到1输入第一行输入t,表示有t个测试示例第二行输入n,表示第一个示例有n个数据(n>1)第三行输入n个数据,都是正整数,数据之间用空格隔开以此类推输出对每组测试数据,输出每趟排序结果。不同组测试数据间用空行分隔。样例输入26111 22 6 444 333 ...原创 2018-12-18 20:38:25 · 1292 阅读 · 0 评论 -
DS排序--快速排序
题目描述给出一个数据序列,使用快速排序算法进行从小到大的排序 --程序要求--若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio程序中若include多过一个头文件,不看代码,作0分处理 不允许使用第三方对象或函数实现本题的要求输入第一行输入t,表示有t个测试示例第二行输入n,表示第一个示例有n...原创 2018-12-18 20:39:50 · 1259 阅读 · 0 评论 -
DS内排—2-路归并排序
题目描述输入一组字符串,用2-路归并排序按字典顺序进行降序排序。输入 测试次数t每组测试数据:数据个数n,后跟n个字符串,字符串不含空格。输出 对每组测试数据,输出2-路归并排序的每一趟排序结果。每组测试数据的输出之间有1空行。样例输入26 shenzhen beijing guangzhou futian nanshan baoan10 apple pe...原创 2018-12-18 20:41:05 · 1131 阅读 · 0 评论 -
Web导航
题目描述标准Web浏览器包含在最近访问过的页面之间前后移动的功能。 实现这些功能的一种方法是使用两个堆栈来跟踪可以通过前后移动到达的页面。 在此问题中,系统会要求您实现此功能。需要支持以下命令:BACK:将当前页面推到前向堆栈的顶部。 从后向堆栈的顶部弹出页面,使其成为新的当前页面。 如果后向堆栈为空,则忽略该命令。FORWARD:将当前页面推到后向堆栈的顶部。 从前向堆栈的顶部弹出页...原创 2018-12-26 00:28:26 · 590 阅读 · 0 评论 -
DS内排—堆排序
题目描述给定一组数据,使用堆排序完成数据的降序排序。(建小顶堆)。输入数据个数n,n个整数数据输出初始创建的小顶堆序列每趟交换、筛选后的数据序列,输出格式见样例样例输入8 34 23 677 2 1 453 3 7样例输出8 1 2 3 7 23 453 677 348 2 7 3 34 23 453 677 18 3 7 453 34 23...原创 2018-12-26 00:33:20 · 671 阅读 · 0 评论 -
C++如何将int转换成string
包含的头文件:#include<sstream>使用类型:stringstream实例代码:#include<iostream>#include<string>#include<sstream>using namespace std;int main(){ int s= 1; stringstream ...原创 2019-04-15 23:07:15 · 13072 阅读 · 0 评论 -
DS内排—直插排序
题目描述给定一组数据,使用直插排序完成数据的升序排序。--程序要求--若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio程序中若include多过一个头文件,不看代码,作0分处理 不允许使用第三方对象或函数实现本题的要求 输入数据个数n,n个数据 输出直插排序的每一趟排序结果 样例输...原创 2018-12-12 00:37:05 · 824 阅读 · 0 评论 -
DS哈希查找—二次探测再散列
题目描述定义哈希函数为H(key) = key%11。输入表长(大于、等于11),输入关键字集合,用二次探测再散列构建哈希表,并查找给定关键字。输入测试次数t每组测试数据格式如下:哈希表长m、关键字个数nn个关键字查找次数kk个待查关键字输出对每组测试数据,输出以下信息:构造的哈希表信息,数组中没有关键字的位置输出NULL对k个待查关键字,分别输出...原创 2018-12-12 00:35:29 · 2044 阅读 · 0 评论 -
DS静态查找之折半查找
题目描述给出一个队列和要查找的数值,找出数值在队列中的位置,队列位置从1开始要求使用折半查找算法输入第一行输入n,表示队列有n个数据第二行输入n个数据,都是正整数,用空格隔开第三行输入t,表示有t个要查找的数值第四行起,输入t个数值,输入t行输出每行输出一个要查找的数值在队列的位置,如果查找不成功,输出字符串error 样例输入811 22 33 4...原创 2018-11-20 17:15:52 · 1215 阅读 · 0 评论 -
DS哈希查找—线性探测再散列
题目描述 定义哈希函数为H(key) = key%11。输入表长(大于、等于11),输入关键字集合,用线性探测再散列构建哈希表,并查找给定关键字。--程序要求--若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio程序中若include多过一个头文件,不看代码,作0分处理不允许使用第三方对象或函数实现本题的要求输入...原创 2018-12-04 17:15:45 · 2316 阅读 · 0 评论 -
哈希查找与增补
题目描述给出一个数据序列,建立哈希表,采用求余法作为哈希函数,模数为11,哈希冲突用链地址法和表尾插入如果首次查找失败,就把数据插入到相应的位置中实现哈希查找与增补功能 输入第一行输入n,表示有n个数据第二行输入n个数据,都是自然数且互不相同,数据之间用空格隔开第三行输入t,表示要查找t个数据从第四行起,每行输入一个要查找的数据,都是正整数 输出每行输出...原创 2018-12-04 17:17:26 · 1205 阅读 · 0 评论 -
DS查找—二叉树平衡因子
题目描述二叉树用数组存储,将二叉树的结点数据依次自上而下,自左至右存储到数组中,一般二叉树与完全二叉树对比,比完全二叉树缺少的结点在数组中用0来表示。计算二叉树每个结点的平衡因子,并按后序遍历的顺序输出结点的平衡因子。 --程序要求--若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio程序中若include多过一个...原创 2018-12-04 17:18:53 · 1097 阅读 · 0 评论 -
DS二叉排序树之创建和插入
题目描述给出一个数据序列,建立二叉排序树,并实现插入功能对二叉排序树进行中序遍历,可以得到有序的数据序列输入第一行输入t,表示有t个数据序列第二行输入n,表示首个序列包含n个数据第三行输入n个数据,都是自然数且互不相同,数据之间用空格隔开第四行输入m,表示要插入m个数据从第五行起,输入m行,每行一个要插入的数据,都是自然数且和前面的数据不等以此类推输入下一个示...原创 2018-11-27 18:49:05 · 1416 阅读 · 1 评论 -
DS二叉排序树之查找
题目描述给出一个数据序列,建立二叉排序树,并实现查找功能对二叉排序树进行中序遍历,可以得到有序的数据序列输入第一行输入t,表示有t个数据序列第二行输入n,表示首个序列包含n个数据第三行输入n个数据,都是自然数且互不相同,数据之间用空格隔开第四行输入m,表示要查找m个数据从第五行起,输入m行,每行一个要查找的数据,都是自然数以此类推输入下一个示例输出第一...原创 2018-11-27 18:50:30 · 699 阅读 · 1 评论 -
DS二叉排序树之删除
题目描述给出一个数据序列,建立二叉排序树,并实现删除功能对二叉排序树进行中序遍历,可以得到有序的数据序列输入第一行输入t,表示有t个数据序列第二行输入n,表示首个序列包含n个数据第三行输入n个数据,都是自然数且互不相同,数据之间用空格隔开第四行输入m,表示要删除m个数据从第五行起,输入m行,每行一个要删除的数据,都是自然数以此类推输入下一个示例输出第一...原创 2018-11-27 18:54:20 · 1353 阅读 · 0 评论 -
DS队列+堆栈--数制转换
题目描述对于任意十进制数转换为k进制,包括整数部分和小数部分转换。整数部分采用除k求余法,小数部分采用乘k取整法例如x=19.125,求2进制转换整数部分19, 小数部分0.12519 / 2 = 9 … 1 0.125 * 2 = 0.25 … 09 / 2 = 4 … 1 0.25 * 2 = 0.5 … 04 / 2 = 2 … 0 0...原创 2018-12-20 20:36:06 · 301 阅读 · 0 评论 -
DS二叉树——二叉树之父子结点
题目描述 给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构。编写程序输出该树的所有叶子结点和它们的父亲结点输入 第一行输入一个整数t,表示有t个二叉树第二行起,按照题目表示的输入方法,输入每个二叉树的先序遍历,连续输入t行输出 第一行按先序遍历,输出第1个示例的叶子节点第二行输出第1个示例中与叶子相对应的父...原创 2018-10-16 19:29:31 · 2313 阅读 · 0 评论 -
DS二叉树--层次遍历
题目描述 层次遍历二叉树,是从根结点开始遍历,按层次次序“自上而下,从左至右”访问树中的各结点。建树方法采用“先序遍历+空树用0表示”的方法要求:采用队列对象实现,函数框架如下:输入 第一行输入一个整数t,表示有t个测试数据第二行起输入二叉树先序遍历的结果,空树用字符‘0’表示,输入t行输出 逐行输出每个二叉树的层次遍历结果样例输入2AB0C00D00ABCD00E000FG0...原创 2018-10-16 19:26:56 · 1812 阅读 · 0 评论 -
保留最大的数
题目描述 给定一个十进制的正整数number,选择从里面去掉一部分数字,希望保留下来的数字组成的正整数最大。 输入描述: 输入为两行内容,第一行是正整数number,1 ≤ length(number) ≤ 50000。第二行是希望去掉的数字数量cnt 1 ≤ cnt < length(number)。 输出描述: 输出保留下来的结果。 示例1 ...原创 2018-08-29 00:25:01 · 209 阅读 · 0 评论 -
统计字符
题目描述 给定一个英文字符串,请写一段代码找出这个字符串中首先出现三次的那个英文字符(需要区分大小写)。 输入描述: 输入数据一个字符串,包括字母,数字等。 输出描述: 输出首先出现三次的那个英文字符 示例1 输入 复制 Have you ever gone shopping and 输出 复制 e思路这道...原创 2018-08-29 12:57:02 · 226 阅读 · 0 评论 -
身份证分组
题目描述 18位身份证的编码规则是: 前1、2位数字表示:所在省(直辖市、自治区)的代码 第3、4位数字表示:所在地级市(自治州)的代码 第5、6位数字表示:所在区(县、自治县、县级市)的代码; 第7—14位数字表示:出生年、月、日; 第15、16位数字表示:所在地的派出所的代码; 第17位数字表示性别:奇数表示男性,偶数表示女性; 第18位数...原创 2018-08-29 14:42:22 · 234 阅读 · 0 评论