自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xxxibgdrgn博客

自先沉稳,而后爱人。

  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 4-11 Isomorphic (10分)

Two trees, T1 and T2, are isomorphic if T1 can be transformed into T2 by swapping left and right children of (some of the) nodes in T1. For instance, the two trees in Figure 1 are isomorphic because they are the same if the children of A, B, and G, but not

2020-10-29 13:10:23 329

原创 4-13 先序输出叶结点 (10分)

本题要求按照先序遍历的顺序输出给定二叉树的叶结点。函数接口定义:void PreorderPrintLeaves( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};函数PreorderPrintLeaves应按照先序遍历

2020-10-28 19:58:20 433

原创 4-15 根据后序和中序遍历输出先序遍历 (15分)

本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的先序遍历结果。输入格式:第一行给出正整数N(≤30),是树中结点的个数。随后两行,每行给出N个整数,分别对应后序遍历和中序遍历结果,数字间以空格分隔。题目保证输入正确对应一棵二叉树。输出格式:在一行中输出Preorder:以及该树的先序遍历结果。数字间有1个空格,行末不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:Preorder: 4 1 3 2 6 5 7做树的题,通常

2020-10-28 19:43:54 475

原创 【CCF201503-2】数字排序

问题描述  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式  输入的第一行包含一个整数n,表示给定数字的个数。  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。样例输入125 2 3 3 1 3 4 2 5 2 3 5样例输出3 42 35 31 1

2020-10-26 13:05:28 177

原创 【CCF201409-2】画图(超简单分析)

问题描述  在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。  下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形都涂成统一的颜色,图中显示不同颜色仅为说明方便。给出所有要画的矩形,请问总共

2020-10-26 08:53:44 387 1

原创 【CCF201312-2】ISBN号码

问题描述  每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。  识别码的计算方法如下:  首位数字乘以1加

2020-10-26 08:44:53 299 1

原创 2020-1024=996(程序员节)

今天是2020年10月24日,又是一年一度的程序员节,感觉这个节日也就是个形式上的节日,大家也都没有“正式”地过。本来以为今天上完选修课跑完步直接回宿舍待着就好了,后来得到通知有培训,虽然自己的计划被打乱了,但一想又能学到新的东西,又很开心。然而,然而,团委老师又出了幺蛾子,让大家过一下程序员节??这,这真的是想一出是一出,而且是下午四五点给的通知,这,闹呢?活动也就一般般吧,不过深刻的认识到一个道理,该水群的时候水,以后这种事不水群了,我要让谁都找不到我,长记性了。好好学习最重要程序员,程序猿,程序媛…

2020-10-24 21:57:28 1561 7

原创 【MOOC】04-树4 是否同一棵二叉搜索树 (25分)

给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要检查的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列。最后L行,每行给出N个插入的元素,属于L个需要检查

2020-10-22 14:30:57 193

原创 3-5 单链表分段逆转 (20分)(都啥玩意?)

给定一个带头结点的单链表和一个整数K,要求你将链表中的每K个结点做一次逆转。例如给定单链表 1→2→3→4→5→6 和 K=3,你需要将链表改造成 3→2→1→6→5→4;如果 K=4,则应该得到 4→3→2→1→5→6。函数接口定义:void K_Reverse( List L, int K );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ Ptr

2020-10-21 10:03:10 797

原创 3-1 Deque (20分)

A “deque” is a data structure consisting of a list of items, on which the following operations are possible:Push(X,D): Insert item X on the front end of deque D.Pop(D): Remove the front item from deque D and return it.Inject(X,D): Insert item X on the

2020-10-21 08:33:08 564

原创 3-3 另类循环队列 (20分)

如果用一个循环数组表示队列,并且只设队列头指针Front,不设尾指针Rear,而是另设Count记录队列中元素个数。请编写算法实现队列的入队和出队操作。函数接口定义:bool AddQ( Queue Q, ElementType X );ElementType DeleteQ( Queue Q );其中Queue结构定义如下:typedef int Position;typedef struct QNode *PtrToQNode;struct QNode { ElementType

2020-10-17 22:25:17 190

原创 3-8 求前缀表达式的值 (20分)(细节分析)

算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、/以及运算数,不同对象(运算数、运算符号)之间以空格分隔。输出格式:输出前缀表达式的运算结果,保留小数点后1位,或错误信息ERROR。输入样例:2 * 3 - 7 4 / 8 4输出样例:

2020-10-17 20:43:51 948

原创 2-10 出栈序列的合法性 (20分)

给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, …, N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但不可能得到{ 3, 2, 1, 7, 5, 6, 4 }。输入格式:输入第一行给出 3 个不超过 1000 的正整数:M(堆栈最大容量)、N(入栈元素个数)、K(待检查的出栈序列个数)。最后 K 行,每行给出 N 个数字的出栈序列。所有同行数字以空格间隔。输出格式:对每一

2020-10-07 10:26:45 888

原创 1-3 表达式转换 (25分)(我的偶像是大佬)

算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。输入格式:输入在一行中给出不含空格的中缀表达式,可包含+、-、*、\以及左右括号(),表达式不超过20个字符。输出格式:在一行中输出转换后的后缀表达式,要求不同对象(运算数、运算符号)之间以空格分隔,但结尾不得有多余空格。输入样例:2+3*(7-4)+8/4输出样例:2 3 7 4 - * + 8 4 / +主要是逆波兰

2020-10-05 13:50:57 522

原创 【MOOC】05-树7 堆中的路径 (25分)(建立最小堆)

将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。输入样例:5 346 23 26 24 105 4

2020-10-04 23:21:27 377

原创 2-5 Two Stacks In One Array (20分)(在一个数组中实现两个堆栈)

Write routines to implement two stacks using only one array. Your stack routines should not declare an overflow unless every slot in the array is used.Format of functions:Stack CreateStack( int MaxElements );int IsEmpty( Stack S, int Stacknum );int Is

2020-10-04 20:26:17 856

原创 2-8 符号配对 (20分)【栈的应用】

请编写程序检查C语言源程序中下列符号是否配对:/与/、(与)、[与]、{与}。输入格式:输入为一个C语言源程序。当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束。程序中需要检查配对的符号不超过100个。输出格式:首先,如果所有符号配对正确,则在第一行中输出YES,否则输出NO。然后在第二行中指出第一个不配对的符号:如果缺少左符号,则输出?-右符号;如果缺少右符号,则输出左符号-?。输入样例1:void test(){ int i, A[10]; for (i=0;

2020-10-04 18:01:55 817 1

原创 2-2 学生成绩链表处理 (20分)

本题要求实现两个函数,一个将输入的学生成绩组织成单向链表;另一个将成绩低于某分数线的学生结点从链表中删除。函数接口定义:struct stud_node *createlist();struct stud_node *deletelist( struct stud_node *head, int min_score );函数createlist利用scanf从输入中获取学生的信息,将其组织成单向链表,并返回链表头指针。链表节点结构定义如下:struct stud_node { int

2020-10-04 17:52:58 160

原创 KMP 串的模式匹配 (25分)(3种方法)

给定两个由英文字母组成的字符串 String 和 Pattern,要求找到 Pattern 在 String 中第一次出现的位置,并将此位置后的 String 的子串输出。如果找不到,则输出“Not Found”。本题旨在测试各种不同的匹配算法在各种数据情况下的表现。各组测试数据特点如下:数据0:小规模字符串,测试基本正确性;数据1:随机数据,String 长度为 10​5,Pattern 长度为 10;数据2:随机数据,String 长度为 10​5,Pattern 长度为 102;数据3:随机

2020-10-02 22:01:40 2010 7

原创 【CCF202009-2】风险人群筛查

这道题感觉做的麻烦了,正确之后看了其他人的代码,果然是我做麻烦了。。不过这是我第一次想到的思路,总之没错就是好的,毕竟谁也不是每次上来都能用最简单的方法做,注意每个人不能重复计数就好了。想看简单的代码思路的话,可以参考其他人的代码,我的是一种另类思路#include <iostream>using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); int n,k,t,...

2020-10-01 15:52:58 1102

原创 【CCF202009-1】称检测点查询

题目背景2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》,提出对“密切接触者”等八类重点人群“应检尽检”,其他人群“愿检尽检”。问题描述某市设有n个核酸检测点,编号从1到n,其中i号检测点的位置可以表示为一个平面整数坐标 。为方便预约核酸检测,请根据市民所在位置 ,查询距其最近的三个检测点。多个检测点距离相同时,编号较小的视为更近。输入格式输入共n+1行。第一行包含用空格分隔的三个整数 n、X和Y,表示检测点总数和市民所在位置。第二行到第 n+

2020-10-01 14:23:43 428

原创 2-4 另类堆栈 (20分)

在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满?函数接口定义:bool Push( Stack S, ElementType X );ElementType Pop( Stack S );其中Stack结构定义如下:typedef int Position;typedef struct SNode *PtrToSNode;struct SNode { ElementType *Data; /*

2020-10-01 11:37:09 225

原创 6-3 Add Two Polynomials (20分)(附测试点)

Write a function to add two polynomials. Do not destroy the input. Use a linked list implementation with a dummy head node. Note: The zero polynomial is represented by an empty list with only the dummy head node.Format of functions:Polynomial Add( Polyno

2020-10-01 11:01:16 2646 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除