学习
快!卷起来
这个作者很懒,什么都没留下…
展开
-
mac电脑m系列芯片(m1,m2)安装parallels,运行windows,ubuntu等
mac(m1,m2)电脑安装parallels 运行windows,ubuntu。原创 2023-08-29 20:37:36 · 518 阅读 · 0 评论 -
Huffman树及Huffman编码的算法实现
Huffman树及Huffman编码的算法实现(必做,验证性实验)实验目的熟悉掌握Huffman树的构造方法及Huffman编码的应用,了解Huffman树在通信、编码领域的应用过程。实验内容(1)输入一段100—200字的英文短文,存入一文件a中。(2)写函数统计短文出现的字母个数n及每个字母的出现次数(3)写函数以字母出现次数作权值,建Haffman树(n个叶子),给出每个字母的Haffman编码。(4)用每个字母编码对原短文进行编码,码文存入文件b中。(5)用Haffman树对文件b原创 2022-01-01 11:56:14 · 1196 阅读 · 0 评论 -
村村通 c语言实现
村村通设计系统设计目的在计算机科学中,数据结构是一般程序设计的基础。通过综合设计,使学生学会分析研究数据结构的特征,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,掌握算法的时间复杂度分析技术。另一方面,综合设计也是复杂程序设计的训练过程,要求学生编写的程序结构符合软件工程规范,培养他们的数据抽象能力、建模能力和算法设计能力,提高复杂问题的解决能力,为后续课程的学习和应用奠定基础。任务与要求要求学生以3人一组,自由结合,从给定的综合设计题目中进行选择。本次设计题目是设计内容不固定的题原创 2022-01-01 11:44:05 · 909 阅读 · 0 评论 -
7-2 朋友圈 (25 分)
某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总数和俱乐部的个数。后面的M行每行按以下格式给出1个俱乐部的信息,其中学生从1~N编号:第i个俱乐部的人数Mi(空格)学生1(空格)学生2 …原创 2021-09-03 17:21:48 · 396 阅读 · 0 评论 -
7-3 单身狗 (25 分)
“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤50000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤10000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。输出格式:首先第一行输出落单客人的总人原创 2021-09-03 17:16:36 · 1187 阅读 · 0 评论 -
7-5 A-B (20 分)
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过104,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It’s a fun game!aeiou结尾无空行输出样例:I lv GPLT! It’s fn gm!结尾无原创 2021-08-20 11:28:18 · 248 阅读 · 0 评论 -
插入排序还是归并排序
根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排序算法?输入格式:输入在第一行给出正整数 N (≤100);随后一行给出原始序列的 N 个整数;最原创 2021-08-20 10:35:28 · 291 阅读 · 0 评论 -
7-3 重排链表 (25 分)
给定一个单链表 L1 →L2 →⋯→Ln−1 →Ln ,请编写程序将链表重新排列为 Ln →L1 →Ln−1 →L2 →⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤105)。结点的地址是5位非负整数,NULL地址用−1表示。接下来有N行,每行格式为:Address Data Next其中Addr原创 2021-08-19 20:33:12 · 810 阅读 · 0 评论 -
7-2 Kaprekar 常数 (20 分)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 61747641 - 1467 = 6174… …现给定任意 4原创 2021-08-19 20:10:25 · 243 阅读 · 0 评论 -
习题3.9 堆栈操作合法性 (20 分)
假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。输入格式:输入第一行给出两个正整数N和M,其中N是待测序列的个数,M(≤50)是堆栈的最大容量。随后N行,每行中给出一个仅由S和X构成的序列。序列保证不为空,且长度不超过100。输出格式:对每个序列,在一行中输出YES如果该序列是合法的堆栈操作序列,或NO如果不是。输入样原创 2021-08-12 21:23:29 · 327 阅读 · 0 评论 -
习题3.13 双端队列 (25 分)
双端队列(deque,即double-ended queue的缩写)是一种具有队列和栈性质的数据结构,即可以(也只能)在线性表的两端进行插入和删除。若以顺序存储方式实现双端队列,请编写例程实现下列操作:Push(X,D):将元素X插入到双端队列D的头;Pop(D):删除双端队列D的头元素,并返回;Inject(X,D):将元素X插入到双端队列D的尾部;Eject(D):删除双端队列D的尾部元素,并返回。函数接口定义:bool Push( ElementType X, Deque D );El原创 2021-08-12 20:28:46 · 163 阅读 · 0 评论 -
7-1 说反话-加强版 (20 分)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。输出格式:每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。输入样例:Hello World Here I Come结尾无空行输出样例:Come I Here World Hello结尾无空行下面是五个测试点(注原创 2021-08-12 17:28:40 · 804 阅读 · 0 评论 -
习题3.4 最长连续递增子序列 (20 分)
给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。输入格式:输入第1行给出正整数n(≤105);第2行给出n个整数,其间以空格分隔。输出格式:在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空格。输入样例:151 9 2 5 7 3 4 6 8 0 11 15 17 17 10结尾无空行输出样例:3 4 6 8结尾无空行#includ原创 2021-08-11 21:41:54 · 175 阅读 · 0 评论 -
习题3.5 求链表的倒数第m个元素 (20 分)
请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0)个元素。函数接口定义:ElementType Find( List L, int m );其中List结构定义如下:typedef struct Node PtrToNode;struct Node {ElementType Data; / 存储结点数据 /PtrToNode Next; / 指向下一个结点的指针 /};typedef PtrToNode List; / 定义单链表类型原创 2021-08-11 21:15:35 · 220 阅读 · 0 评论 -
习题3.3 线性表元素的区间删除 (20 分)
给定一个顺序存储的线性表,请设计一个函数删除所有值大于min而且小于max的元素。删除后表中剩余元素保持顺序存储,并且相对位置不能改变。函数接口定义:List Delete( List L, ElementType minD, ElementType maxD );其中List结构定义如下:typedef int Position;typedef struct LNode List;struct LNode {ElementType Data[MAXSIZE];Position Last;原创 2021-08-11 21:06:21 · 97 阅读 · 0 评论 -
习题2.6 递归求简单交错幂级数的部分和 (15 分)
本题要求实现一个函数,计算下列简单交错幂级数的部分和:函数接口定义:double fn( double x, int n );其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数fn应返回上述级数的部分和。建议尝试用递归实现。裁判程序#include <stdio.h>double fn( double x, int n );int main(){ double x; int n; scanf("%lf %d", &x, &原创 2021-08-11 20:42:18 · 149 阅读 · 0 评论 -
习题2.5 两个有序链表序列的合并 (15 分)
**本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。**函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node PtrToNode;struct Node {ElementType Data; / 存储结点数据 /PtrToNode Next; / 指向下一个结点的指针 /};typedef PtrToNode List; / 定义单链表类型 */L1和L2是给定的带原创 2021-08-11 20:32:00 · 142 阅读 · 0 评论 -
习题2.4 递增的整数序列链表的插入 (15 分)
看题目本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。函数接口定义List Insert( List L, ElementType X );L是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Insert要将X插入L,并保持该序列的有序性,返回插入后的链表头指针。#include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct原创 2021-08-11 19:35:15 · 187 阅读 · 0 评论 -
在c++下输出全排列方法
题目输出全排列输出全排列请编写程序输出前n个正整数的全排列(n<10),并通过9个测试用例(即n从1到9)观察n逐步增大时程序的运行时间。输入格式:输入给出正整数n(<10)。输出格式:输出1到n的全排列。每种排列占一行,数字间无空格。排列的输出顺序为字典序。代码:#include <iostream>#include<algorithm>using namespace std; int main(int argc, char** argv) {原创 2021-08-01 17:24:30 · 2170 阅读 · 0 评论 -
最大子列和问题,,数组循环左移,,数列求和-加强版 pta题目解决
pta题目最大子列和问题数组循环左移数列求和-加强版这里咱们进行pta部分有嗲表型题目进行讲解与展示最大子列和问题***题目***给定K个整数组成的序列{n1,n2,n3,nk},其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。问题现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法在各种数据情况下的表现。注意各组测试数据特点如原创 2021-07-29 17:05:39 · 259 阅读 · 1 评论 -
课程设计总结+C++学习总结
纲要1、C++界面设计控制弹出窗口的颜色控制界面的大小 2、C语言易出错处总结3、C++格式化输出总结原创 2021-07-25 14:35:32 · 1703 阅读 · 0 评论