自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(147)
  • 收藏
  • 关注

原创 10.29 求pai的值 打印二叉树x节点的所有祖先

【代码】10.29 求pai的值 打印二叉树x节点的所有祖先。

2024-10-29 11:11:52 122

原创 2024.10.27 直接插入排序 非递归后序遍历(复杂版)

我们需要注意的点就是访问右边节点的时候,需要区分是从根节点到右节点还是从右节点到根节点,如果是从根节点到右节点那么我们需要进行的操作是入栈右节点,如果是从右节点到根节点的话,那么我们需要进行的操作是对根节点进行出栈,打印并更新指针r指向指针p,并将p置空。额外注意的点:arr[j+1]=temp;这个是因为内置循环每次出来之后所指向的位置是我们要插入的位置的前一个(-1或者插入的位置-1)算法思想:和先序遍历和中序遍历的区别是:需要额外设置一个遍历指针的r(指向遍历节点指针p之前指向的节点)

2024-10-27 11:21:47 217

原创 2024 10.25 判断一个矩阵是否对称

思路:a[i][j]!=a[n-1-j][n-1-i] 画个图让第一行和最后一列比较,然后第二趟就是第二行和最后第二列比较如果有不一样的就跳出来。思路:a[i][j]!=a[j][i] 第一行和第一列顺序比较,后面依次类推。

2024-10-25 10:52:02 434

原创 2024.10.20 进制转换 删除根节点为x的整个子树

思路:删除子树需要的是先删除左右节点然后再删除根节点,所以采用后序遍历。然后找x的话最好还是用层次遍历。错误例子:因为这样的话,p就变成野指针了!十进制转换为任意进制。任意进制转化为十进制。

2024-10-20 11:47:38 206

原创 2024.10.19 判断二叉树是否为完全二叉树

将空节点也入层序遍历的队列,然后依次出队,用flag在第一个NULL节点处标记为1如果队列后面又出现了不是空节点那么把flag更新为0判断为不是完全二叉树,否则等队列的元素全部出去之后判断为二叉树。

2024-10-19 11:22:39 246

原创 2024 10.15-2024 10.18 删除字符串 字符串中找到子字符串 替换字符串

思路:双while循环,内循环比较是否相等,如果相等那么指向s2(子字符串)的指针最后会指向'\0'那么直接返回此时指向s1(字符串)的头节点的地址即可,如果内循环没找到,那么外循环重置指向字符串和指向子字符串的指针然后再一次外循环即可。思路:使用strstr找到字符串中需要删除的字符串,然后使用'\0'给前面的子字符串搞成一个字符串,然后i使用strcat将后面的子字符串连到后面。思路:使用strstr在s字符串中找到子字符串是s1,然后用while将s1替换成s2。

2024-10-18 10:32:43 189

原创 2024 10.12-13 比较字符串 逆置字符串 找字串个数

【代码】2024 10.12-13 比较字符串。

2024-10-12 22:20:00 116

原创 考研编程:10.11 回文数 水仙花 生成一定范围内的随机数 求二叉树宽度

【代码】考研编程:10.11 回文数 水仙花 生成一定范围内的随机数。

2024-10-11 23:26:46 331

原创 考研代码题:10.10 汉诺塔 爬楼梯 取球 猴子吃桃

【代码】考研代码题:10.10 汉诺塔 爬楼梯 取球 猴子吃桃。

2024-10-10 22:30:08 472

原创 842真题上的各种简答题

2. 三个区别:(1)引用只要存在必须初始化,而指针不用 (2)指针可以指向NULL,而引用不可以(3)引用本质是一个变量的别名,而不是变量,所以它没有存放的地址,而指针本质上还是一个变量,它有地址。"":代表是用户自定义的头文件,会先去当前文件目录下寻找,如果找不到的话就会去系统配置的标准库里去寻找。(3)函数是程序运行时要分配内存单元的,而宏展开是编译是进行的,所以不会有传值,更没有返回值一说。3.三个区别:(1)宏只是简单的字符串替换,而函数是程序运行时,实时运算的。

2024-09-29 22:17:59 198

原创 数组交集,质因数,

数组交集的算法就是,新开辟一个数组,然后双重for循环,两个数组一个一个比对,如果前面两个数组中有一样的元素,则把元素赋值给新的数组。然后新数组的指针向后移动。

2024-09-29 21:19:47 108

原创 考研总计划篇

六月到七月开强化 没咋了,武忠祥,张宇(到时候都听一下,看哪个老师适合自己),张宇的强化书可以当工具书。九月份开始听徐涛老师的课,只需要听哲学,政治,经济学即可,然后用仓盾小程序刷题,刷题就吃饭的时候刷就是了。暑假每天晚上两小时学习,一天C语言,一天王道数据结构+数据结构,习题将书上的习题和王道上面的题目写完即可。9月到10月初,刷试卷,一周一套。听张宇的或者没咋了的,都听一下试试。开刷严选+880强化,并且二刷660,880基础和高数讲义。工具书—苏一的提分手册,每天抽一个小时刷刷上面的知识点。

2024-04-06 04:16:22 613

原创 考研总计划(基础篇)

分为数学,专业课,英语三个部分。

2024-03-02 18:32:04 939 2

原创 寒假计划(待定)

16:00~18:30 学习数据结构或者计组 具体实行:每一节1.7倍速先看网课,看完之后看思维导图复习,然后写题,并把题目中总结到的额外知识点记到上面。14:00~16:00 学习计网or操作系统 具体实行:每一节1.7倍速先看网课,看完之后看思维导图复习,然后写题,并把题目中总结到的额外知识点记到上面。9:00~10:00 背单词 具体实行:用不背单词背,每天45个,每个单词都写到a4纸上,23:30~24:00 看书(无聊的书,学习的数,催眠的书)。8:30起床,吃早餐去自习室。

2023-12-26 20:14:29 507

原创 考研算法47天:01背包

【代码】考研算法47天:01背包。

2023-09-16 17:44:24 324

原创 考研算法第46天: 字符串转换整数 【字符串,模拟】

【代码】考研算法第46天: 字符串转换整数 【字符串,模拟】

2023-08-16 14:32:36 1020

原创 考研算法45天:首字母大写 【字符串:简单】

如何用ascll码将字符串的小写换为大写。

2023-08-15 14:36:48 341

原创 考研算法44天:玛雅人的密码

这道题和原先写的那些题目不同的是,这次BFS所搜索的树里面存放的是一个字符串,也就是说没有路径一说,我们需要一个map来存不同的字符串自身和自己从根字符串变来的步数。我们一层一层向下搜索,直到搜到那个满足条件的字符串返回就是了。1.为啥BFS比DFS更加适合找最短路径?

2023-08-14 14:23:37 115

原创 考研算法第43天:吃糖果 【递推,简单】

【代码】考研算法第43天:吃糖果 【递推,简单】

2023-08-12 11:15:32 68

原创 考研算法第42天:递推数列 【递推,简单】

【代码】考研算法第42天:递推数列 【递推,简单】

2023-08-11 19:30:47 95

原创 南大实验pa0:安装环境

安装untubu没问题,但是切到清华软件园之后,问题百出。记录一下。

2023-08-10 14:56:09 1485 2

原创 考研算法第41天:糖果分享游戏 【模拟:中等】

这道题难倒是不难,但是比较麻烦,debug搞了很久不过最终还是过了。

2023-08-10 14:54:45 86

原创 计网实验第三章:TCP

发起会话的TCP SYN报文段的序号是多少客户端计算机与gaia.cs.umass.edu之间的TCP连接?客户端计算机(源)使用的IP地址和TCP端口号是什么?将文件传输到gaia.cs.umass.edu?gaia.c.s.umass.edu的IP地址是什么?发送的端口号是什么并接收此连接的TCP段?答:如图二所示,64240,通过Flags来表示是否是SYN消息的。答:如图1中所示:128.119.245.12 63413.答:如图1中所示:192.168.31.7 ,80。

2023-08-09 20:16:29 1771

原创 考研算法第40天:众数 【模拟,简单题】

又是一道比较简单的模拟题,就不说解题思路了,说一下中间遇到的问题吧,就是说cin输入它是碰到空格就停止输入的,详细的看下面这篇博客。它是不会将空格读入进去的,只要碰到空格就会停止输入。

2023-08-09 14:48:10 645

原创 计网实验第三章:UDP

(提示:一秒钟作为对发送的第一个数据包的响应,发送方应该发送第一个数据包作为第二个数据包的目的地)。要回答这个问题,您需要查看协议包含此UDP段的IP数据报的字段(参见图4.13中的文本,以及IP报头字段的讨论)。答:如图一图二所示,他们的端口号倒过来了,然后两个报文段的关系是一个请求,一个是与之相应的响应。答:长度字段只有两个字节,16位 可以表达的最大再减去 8就是它可以表示的最大的。答:源端口字段的长度也只有两个字节,所以2的16次方就是最大的源端口号。(提示:这个问题的答案可以由你对2的回答决定。

2023-08-08 20:15:18 989

原创 考研算法第39天:特殊乘法 【模拟题 简单】

【代码】考研算法第39天:特殊乘法 【模拟题 简单】

2023-08-08 14:33:45 80

原创 考研算法38天:反序输出 【字符串的翻转】

结果发现咋搞都编译错误,查别人的博客发现别人和自己一样,最后就问了chat果然是自己记错了。很简单的一道题,但是还是有收获的,我发现我连scanf的字符串输入都忘记咋用了。事实证明scanf和printf是要比cin和cout快的。

2023-08-07 14:43:00 1026

原创 【无标题】

这道题用的是dfs,原先自己写过很多遍,但是这次还是出错了,出错的地方就是。

2023-07-03 17:09:17 132

原创 计网实验第四章:IP

原因如图:按照下图所示 标志位显示没有更多的分段。一个是标识数据报(Identification)。上层协议为ICMP,并且其字段值为1。56字节 - 20字节 = 36字节。同一地址发送的这两个在变。这个报文段没有分段发送。

2023-07-02 21:40:15 437

原创 算法第36天:数组中出现次数超过一半的数字【摩尔投票法】

摩尔投票法:求众数的方法。就是维护一个集合,然后我们遍历我们的数组,假如现在我们遍历到的数为x,当集合中都是x的话我们就将x放入集合中,如果我们遍历到的数为x,但是集合中有y,那么我们就会让x带走一个y。到最后我们集合中的主元(y总自己定义的,也就是题目中那个出现次数超过一半的众数)在集合中的个数一定会为0,并且最后一次也一定是一个会消耗一个x。为啥呢?我们可以采取反证法来证明一下。宗上所证所以我们可以采取这个1算法求众数。

2023-07-02 11:24:21 244

原创 考研算法35天:三元组的最小距离 【双指针,滑动窗口,多路归并】

这道题就是一般做法是先通过排序将三个数组排好然后再进行三指针求最小。但是我们仔细考虑一下,如果我们先将这三个数组排好序那么势必需要额外开一个数组,那么空间复杂度就变成了O(N)。我认为只需要三个指针每次如果谁小于等于其他两个指针就算一次res(式子的值)=(max - min)*2。然后将最小的那个指针向后移动(目的:减小三个指针之间的值)。就变成了len = 2 * (max(a,b,c) - min(a,b,c)).如下图。多路归并就是将多个已经归并排序排好序的数组再进行排序(不一定是通过归并排序)。

2023-07-01 15:46:36 769

原创 计网实验第二章:TCP与UDP实验

3.等到客户端发送请求之后,服务器与客户端重新建立一个socket,但是客户端的目标端口不变。1.服务器绑定端口号启动服务器欢迎socket。1.udp的客户端可以比udp的服务端先开启。2. 等待客户端发送请求。

2023-06-28 14:56:30 642

原创 考研算法34天:整数集合划分【快速排序】

我的思路是直接将原先的数组排好序,然后用后面的减去前面的就行,如果个数为奇数个就直接后面多一个减去前面的即可。

2023-06-28 11:36:59 67

原创 考研算法33天:基数排序 【基数排序】

我们前一天写了一道桶排序,今天开始看它的进化版:基数排序,为啥会有这个算法呢?因为我们桶排序有一部是需要统计每个数字出现的次数因此需要开一个相对大的数组i<n;但是就像快速排序这道题,它的数值到了10的9次方了,咋映射呢?总不可能再开这么大一个数组吧?会溢出的。那咋办呢?于是就有了基数排序。那么基数排序是啥意思呢?这个基数其实是指的进制中的基数,我们所做的其实就是将原本10进制的数转换为以r为基数的进制也就是r进制,然后再作比较。

2023-06-27 12:12:43 680

原创 考研算法32天:桶排 【桶排序】

举个例子,一个数组中的数是:4 1 2 3 5,然后桶排的顺序是:将每个数应该在的下标算出来,咋算呢?这我们就得考虑两种情况:假设我们设现在这个需要找到自己在数组里位置的数是x。1.比x小的数有多少个2.和x一样大并且原先就排在自己前面的数有多少个。如果只考虑第一种情况很简单,但是如果两种情况都考虑呢?那么我们就需要其他的东西来保证第二个相等的元素不改变位置了。那么这个东西是啥呢?很简单,一个前缀和:如何操作呢?还是举个例子:比如一个数列:3 2 2 1 5。

2023-06-26 15:18:20 994

原创 考研算法31天:归并排序 【归并排序,分治】

算法介绍归并算法其过程分为三步:1.分:递归到最下面2.治:两个元素之间排序。3。归:递归到最下层然后返回,从两个元素变成四个元素再排序。如下图所示:动态图如下:算法题目算法ac代码:#include <iostream>using namespace std;const int N = 1000010;int q[N], w[N];void merge_sort(int left,int right){ //向下递归

2023-06-25 17:00:36 667

原创 考研算法30天:堆排序 【堆排序】

我在上陈越姥姥的课程之后我学会了如何用数组表示一个堆(堆其实就是根节点大于或者小于它的子节点的完全二叉树)然后陈越姥姥创建堆的思路是每次将新节点放到数组的最后然后通过和自己的父节点比较然后找到自己的位置然后插入。int i;X

2023-06-23 15:34:13 572

原创 考研算法29天:希尔排序 【希尔排序】

希尔排序 = 等差数列 + 普通版插入排序循环数组第一次每n/2为间隔分为4组,然后组内排序。第二次每n/4为间隔分为2组。然后组内排序第三次n/8为间隔分为一组。然后组内排序。组内排序用插入排序来排序。注:也可以第一次为n/3为间隔,第二次为n/3^2,,第三次为n/3^3.这个随你定义。上面这个图片是讲采用3的分法的话最坏算法时间复杂度只有O(n*开平方n)。c++中的sort = 快排 + 插排算法题目int q[N];d>=1;d = d/2)//算出每次的公差。

2023-06-22 12:25:30 1819

原创 考研算法第28天:冒泡排序和简单选择排序 【排序】

冒泡排序就不需要多说了,大一就会的东西,所以这里就不多言了。记录一下y总对他的分析就是了。

2023-06-21 11:53:58 267

原创 计网第二章实验2:DNS

选项其一 -type=NS or -type=A 所代表的意思不一样,后面会演示,如果没写,默认是type=A。下面这一段的意思是我们想要请求的这个域名的权威DNS服务器的名字和IP地址,上面的是IPV6,下面的是IPV4。非权威回答的意思是:不是访问区域的权威DNS服务器回答的,而是其他DNS服务器的缓存。我觉得欧洲大学的网站很可能因为墙的原因访问不了,还是换成清华的官网吧。指定一下我们请求的DNS服务器如清华大学的。上面这一段的意思是我们发送DNS询问请求的然后是它回答的。nslookup命令。

2023-06-20 18:40:07 512

空空如也

空空如也

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

TA关注的人

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