学校作业
文章平均质量分 65
平时作业
White--Night
个人博客:white-night.club
有事可博客/邮件联系。
展开
-
计网期末复习(一)
而IP协议是网络层的,网络层只管发送数据报,建立连接啥的都交给传输层来完成。所以网络层提供的是不可靠无连接的服务。实际上TCP协议才是提供可靠有连接的服务,比如建立TCP连接啊,三次握手四次挥手这些,都是在传输层完成的。需要注意的是,高电平是表示1还是0,低电平是表示0还是1,人为定义的。在无噪声情况下,若某通信链路的带宽为3kHz,采用4个相位,每个相位具有4种振幅的QAM调制技术,则该通信链路的最大数据传输速率是?虚电路传输的话相对于在两个端之间开条逻辑连接,就像打电话一样,传输的分组都是有序的。原创 2024-01-13 21:48:32 · 927 阅读 · 0 评论 -
第8关:定义一个名为PROC_AVGWEIGHT的有参数存储过程
DECLARE用于定义变量,在存储过程和函数中通过declare定义变量在BEGIN...END中,且在语句之前,定义变量语法为:原创 2023-12-03 11:05:38 · 240 阅读 · 0 评论 -
MySQL:至少参与xxx参与的全部事件(二)
再从A中选出参与了xxx参与的所有比赛的选手,得到结果集B;创建一个名为test的视图,查询这样的选手信息(users表),参加过三次比赛(不包含null),且至少解答过”202002020217″选手result为4且采用language为1解答过的所有题目。最后回到宿舍仔细复盘的时候发现,题目要的是problem_id,要的是xxx参与过的所有题目,而不是所有比赛…我当时看到这题,嘿,又是嵌套NOT EXISTS,这个我熟啊,两分钟给你写完。也没其它的了,但是就是过不了,俺寻思这也没错啊,怎么回事呢?原创 2023-11-03 09:38:27 · 311 阅读 · 2 评论 -
19. 删除链表的倒数第 N 个结点
此时second指针指向链表尾部的null,而first指针刚刚好指向i节点的前一个节点。删除节点的时候,有一种比较特殊的情况:链表中只有一个元素or删除的是头节点。这样“头节点”就变成了”链表中的某一个节点“,不管删除它还是其他什么的都是和链表中其他节点一样的操作,省的多写和多想。它的前一个节点刚刚好就是链表的第length-i个节点。leetcode上面的链表题普遍开头的head节点都不为空,所以要删节点的话可以新建一个dummy节点。为了方便删头节点,还是和上面一样,带上个dummy节点。原创 2023-09-27 16:49:36 · 169 阅读 · 0 评论 -
H : 多设备区间调度
多个调度任务,给出调度任务的起始时间和结束时间,问至少需要多少个设备能完成调度任务,在保证最小设备的情况,要求所有设备运行总时长最短。每个设备的运行时长:从给这个设备的第一个任务开始计算到这个设备的最后一个任务结束,中间哪怕没有任务也要计算运行时长。每组实例输出两个正整数,分别代表使用设备的数量,设备运行的总时长,每组实例输出占一行。每组输入实例中,第一行包含一个正整数。≤109),分别一个调度任务的开始时间和结束时间。行,每一行包含两个正整数。≤100),接下来输入。≤100),代表共有。原创 2023-05-10 16:46:57 · 678 阅读 · 0 评论 -
博客搬家咯
用wordpress建了一个网站。以后就优先往自己的网站上更新了捏。原创 2023-04-08 15:49:42 · 89 阅读 · 0 评论 -
C++很大的数组的第k小(选择排序)
如果位置小于k-1,右半部分用枢纽元继续找,不然就找左部。每次找一个枢纽元,比它小的都放左边,比它大的都放右边。如果枢纽元的位置最后是k-1,k-1就是要找的第k小。没必要用快排把整个数组都排成有序的。原创 2023-04-01 13:55:15 · 1163 阅读 · 0 评论 -
【id:22】【1分】B. DS单链表--结点交换
题目描述用C++实现含头结点的单链表,然后实现单链表的两个结点交换位置。注意不能简单交换两个结点包含数据,必须通过修改指针来实现两个结点的位置交换交换函数定义可以参考:swap(int pa, int pb) //pa和pb表示两个结点在单链表的位置序号swap (ListNode * p, ListNode * q) //p和q表示指向两个结点的指针输入第1行先输入n表示有n个数据,接着输入n个数据第2行输入要交换的两个结点位置第3行输入要交换的两个结点位置输出。原创 2023-02-01 23:47:02 · 77 阅读 · 0 评论 -
【id:21】【1分】A. DS单链表--类实现
如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出单链表。注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据。每成功执行一次操作(插入或删除),输出执行后的单链表数据。第1行先输入n表示有n个数据,接着输入n个数据。每成功执行一次查找,输出查找到的数据。第2行输入要插入的位置和新数据。第3行输入要插入的位置和新数据。第1行输出创建后的单链表的数据。第4行输入要删除的位置。第5行输入要删除的位置。第6行输入要查找的位置。第7行输入要查找的位置。数据之间用空格隔开,原创 2022-11-15 18:44:14 · 110 阅读 · 0 评论 -
【id:76】【20分】B. DS二叉树—二叉树结点的最大距离
题目描述二叉树两个结点的距离是一个结点经过双亲结点,祖先结点等中间结点到达另一个结点经过的分支数。二叉树结点的最大距离是所有结点间距离的最大值。例如,下图所示二叉树结点最大距离是3,C和D的距离。二叉树用先序遍历顺序创建,#表示空树。计算二叉树结点最大距离和最大距离的两个结点(假设二叉树中取最大距离的两个结点唯一)。输入测试次数T第2行之后的T行,每行为一棵二叉树先序遍历结果(#表示空树)输出对每棵二叉树,输出树的结点最大距离和最大距离的结点,输出格式见样例。输入样例14A##原创 2022-11-13 11:10:10 · 537 阅读 · 0 评论 -
【id:77】【20分】A. DS二叉树—二叉树镜面反转(不使用队列)
题目描述假设二叉树用二叉链表存储,用先序序列结果创建。输入二叉树的先序序列,请你先创建二叉树,并对树做个镜面反转,再输出反转后的二叉树的先序遍历、中序遍历、后序遍历和层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。--程序要求--若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio程序中若include多过一个头文件,不看代码,作0分处理不允许使用第三方对象或函数实现本题的要求输入测试次数t。原创 2022-11-10 17:39:41 · 409 阅读 · 0 评论 -
【id:180】【20分】D. DS二叉树--赫夫曼树解码(不含代码框架)
题目描述已知赫夫曼编码算法和程序,在此基础上进行赫夫曼解码在赫夫曼树的类定义中增加了一个公有方法://输入编码串codestr,输出解码串txtstr该方法如果解码成功则返回1,解码失败则返回-1,本程序增加宏定义ok表示1,error表示-1输入第一行输入t,表示有t个测试实例第二行先输入n,表示第1个实例有n个权值,接着输入n个权值,权值全是小于1万的正整数第三行输入n个字母,表示与权值对应的字符第四行输入k,表示要输入k个编码串第五行起输入k个编码串。原创 2022-11-06 12:02:56 · 629 阅读 · 0 评论 -
【id:179】【20分】C. DS二叉树--赫夫曼树的构建与编码(不含代码框架)
即每行先输出1个权值,再输出一个短划线,再输出对应编码,接着下一行输入下一个权值和编码。第二行先输入n,表示第1个实例有n个权值,接着输入n个权值,权值全是小于1万的正整数。给定n个权值,根据这些权值构造huffman树,并进行huffman编码。P147算法6.12 HuffmanCoding代码。要求:赫夫曼的构建中,默认左孩子权值不大于右孩子权值。逐行输出每个权值对应的编码,格式如下:权值-编码。第一行输入t,表示有t个测试实例。,注意数组访问是从位置1开始。原创 2022-11-06 00:06:36 · 824 阅读 · 0 评论 -
【id:85】【10分】A. DS二叉树--后序遍历非递归算法(无提示)
题目描述求一颗树的后序遍历的非递归算法要求:必须是非递归算法,使用堆栈对象来实现建树方法采用“先序遍历+空树用0表示”的方法输入第一行输入一个整数t,表示有t个测试数据第二行起输入二叉树先序遍历的结果,空树用字符‘0’表示,输入t行输出逐行输出每个二叉树的后序遍历结果输入样例13AB0C00D00输出样例1CBDACDBFEADCBFEA。原创 2022-11-04 14:16:29 · 307 阅读 · 0 评论 -
【id:57】【10分】F. 可重叠子串 (Ver. I)
题目描述给定一个字符串(模式串)和一些待查找的字符串,求每个待查找字符串在模式串中出现的次数(可重叠)输入测试数据有多组(测试组数原创 2022-10-22 16:51:34 · 277 阅读 · 0 评论 -
【id:56】【20分】C. 子串循环问题 (Ver. I)
题目描述给定一个字符串,求需要添加至少几个字符到字符串末尾才能使得整个字符串串由某一个不为本身的子串循环构成?如"abca",添加"bc"后构成"abcabc",其由子串"abc"循环构成;也可以添加"abca"后构成"abcaabca",其由子串"abca"循环构成,相比之下"bc"只有2个字符,添加的字符量最少。输入第一行包括一个整数T(1原创 2022-10-21 00:33:00 · 435 阅读 · 0 评论 -
【id:198】【20分】F. DS队列--组队列(不使用STL队列)
题目描述组队列是队列结构中一种常见的队列结构,在很多地方有着广泛应用。组队列是是指队列内的元素分组聚集在一起。组队列包含两种命令:1、 ENQUEUE,表示当有新的元素进入队列,首先会检索是否有同一组的元素已经存在,如果有,则新元素排在同组的最后,如果没有则插入队列末尾。2、 DEQUEUE,表示队列头元素出队3、 STOP,停止操作注意:不要使用C++自带的队列对象queue。输入第1行输入一个t(t原创 2022-10-15 11:44:42 · 287 阅读 · 0 评论 -
【id:50】【20分】D. DS队列----银行单队列多窗口模拟
题目描述假设银行有K个窗口提供服务,窗口前设一条黄线,所有顾客按到达时间在黄线后排成一条长龙。当有窗口空闲时,下一位顾客即去该窗口处理事务。当有多个窗口可选择时,假设顾客总是选择编号最小的窗口。本题要求输出前来等待服务的N位顾客的平均等待时间、最长等待时间、最后完成时间。输入输入第1行给出正整数N(≤1000),为顾客总人数;随后N行,每行给出一位顾客的到达时间T和事务处理时间P,并且假设输入数据已经按到达时间先后排好了顺序;最后一行给出正整数K(≤10),为开设的营业窗口数。输出。原创 2022-10-14 12:28:48 · 655 阅读 · 0 评论 -
【id:197】【10分】E. DS队列——约瑟夫环
题目描述:假设 n 个人按编号顺时针从小到大排成一圈(编号为从 1 到 n )。接着约定一个正整数 k,从编号为 1 的人开始顺时针报数(编号为 1 的人报数 1 ,编号为 2 的人报数 2 ……),报到 k 的人离开圈子,然后他的下一个人继续从 1 开始报数,以此类推,直到圈子里只剩下一个人。请用的报数过程,并按先后顺序输出离开圈子的人最开始的编号。为了统一起见,圈子里的最后一个人也需要离开圈子。输入第一行输入 T ,表示 T 个测试用例;原创 2022-10-14 12:06:33 · 419 阅读 · 0 评论