自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录 | Day25 | 二叉树:从中序与后序遍历构造二叉树&&最大二叉树

主要学习内容:用中序和后序来构建二叉树。

2024-09-27 16:13:00 454

原创 代码随想录 | Day24 | 二叉树:二叉树的公共祖先(有个自己的想法)&&二叉搜索树的公共祖先

主要学习内容:1.一般需要向上返回下层结点的内容信息或者判断结果的话都是后序遍历2.二叉搜索树的性质:左右子树和根结点的大小关系。

2024-09-25 19:22:13 997

原创 代码随想录 | Day23 | 二叉树:二叉搜索树的最小绝对差&&二叉搜索树中的众数

主要学习内容:1.二叉搜索树性质:中序遍历是递增的有序序列2.自定义pair排序函数复习3.双指针在二叉树中的应用(重点)

2024-09-24 17:36:49 431

原创 操作系统 | 学习笔记 | | 王道 | 5.3 磁盘和固态硬盘

1.只能顺序:磁带可以按任意次序读写:光盘,U盘,磁盘2.磁盘调度中对读写时间影响最大的是寻道时间(这个是机械运动,耗时)3.硬盘的操作系统引导扇区产生在对硬盘进行高级格式化时4.静态磨损均衡算法比动态的算法表现更加优秀。

2024-09-23 16:45:34 917

原创 操作系统 | 学习笔记 | | 王道 | 5.2 设备独立软件

1.因为CPU速度比IO设备高很多,缓冲技术的缓冲区缓冲池通常在主存中建立2.单双缓冲通信时都可以实现数据的双向传输,只是单不能在同一时刻而双可以3.如果IO比CPU快很多,那么缓冲区就没必要设置4.缓冲区管理者着重需要考虑的问题是实现进程访问缓冲区的同步,因为缓冲区是一种临界资源,要互斥的进行访问5.设备分配程序为进程分配设备的过程是:先分配设备,再分配设备控制器,最后分配通道6.单机中最重要的是CPU资源,要提高单机资源利用率优先提高CPU资源利用率。

2024-09-20 19:40:58 768

原创 操作系统 | 学习笔记 | | 王道 | 5.1 I/O管理概述

注:块设备可以寻址,但是字符设备是不可寻址的I/O设备是将数据输入到计算机中,或者可以接收计算机输出数据的外部设备,属于计算机中的硬件部件;设备的分类按使用特性分类:人机交互类外部设备:鼠标、键盘、打印机等,用于人机交互。数据传输速度慢。存储设备:移动硬盘、光盘等,用于数据存储。数据传输速度快。网络通信设备:调制解调器等,用于网络通信。数据传输速度介于上述二者之间。按信息交换的单位分类:块设备。信息交换以数据块为单位。它属于有结构设备,如磁盘等。

2024-09-20 19:36:53 796

原创 代码随想录 | Day22 | 二叉树:二叉搜索树中的搜索&&验证二叉搜索树

主要学习内容:二叉搜索树的性质:中序遍历是递增序列。

2024-09-19 19:16:57 425

原创 代码随想录 | Day21 | 二叉树:找树左下角的值&&路径总和

主要学习内容:1.利用二叉树的谦虚遍历进行题目解答2.to_string函数的使用。

2024-09-12 19:39:41 559

原创 代码随想录 | Day20 | 二叉树:二叉树所有路径&&左叶子之和

主要学习内容:1.利用二叉树的谦虚遍历进行题目解答2.to_string函数的使用。

2024-09-11 16:21:16 592

原创 代码随想录 | Day19 | 复习二叉树所写部分

对称二叉树记忆不清晰,只有个大概的轮廓,但后序遍历(严格来说并不是)还是可以写出,层序遍历不记得方法。最小深度不够熟悉,方法也忘记了,也写错了,后续需要再次复习。关键点就是求出每个结点的左右子树的高度,差不超过1。复习时写出的是这样的代码,也可以通过。注意是每个结点,而不是只有根结点。利用二叉树性质的做法需要复习。

2024-09-10 16:46:43 176

原创 代码随想录 | Day18 | 二叉树:完全二叉树的节点个数&&平衡二叉树

主要学习内容:1.完全二叉树的性质,满二叉树的节点数量的计算2.树的高度和深度问题要用后序遍历更加合适。

2024-06-12 11:14:31 410

原创 代码随想录 | Day17 | 二叉树:二叉树的最大深度&&最小深度

主要学习内容:利用前序后序层序求解二叉树深度问题其中穿插回溯法。

2024-06-09 14:25:30 482

原创 代码随想录 | Day16 | 二叉树:翻转二叉树&&对称二叉树

主要学习内容:1.二叉树的递归遍历2.判断二叉树的递归遍历的方式是前中后那个非常重要。

2024-06-06 16:16:08 1851

原创 代码随想录 | Day15 | 二叉树:递归遍历&&迭代遍历&&层序遍历

主要学习内容:1.二叉树递归遍历2.二叉树迭代遍历3.二叉树层序遍历来自。

2024-06-03 22:16:56 794

原创 代码随想录 | Day14 | 栈和队列:滑动窗口最大值&&前K个高频元素

主要学习内容:1.使用单调队列解决滑动窗口2.使用优先级队列3.map的第二个元素的排序问题。

2024-06-02 15:42:08 1988

原创 代码随想录 | Day13 | 栈和队列:有效的括号&&删除字符串中的所有相邻重复项

分为2种情况第一,遇到左括号类型,就入栈对应的右括号第二,遇到右括号类型,看栈顶是否是对应的左括号,是的话就就弹出栈顶元素就行,不是的话就直接false,说明前面的左括号少了,而咱们多出来的这个右括号类型后面再也不可能被匹配掉1.遇到左括号入栈相应的右括号,方便后面进行比较2.题目要求:左括号必须以正确的顺序闭合,这一要求直接印证了咱们的第二种情况。

2024-06-01 21:05:45 374

原创 计算机网络学习实践:配置主机通过DHCP获取IP并通过域名访问web服务器

点一点就能配置,不需要输入命令。

2024-06-01 18:14:36 451

原创 计算机网络学习实践:DHCP跨网段动态分配IP

思科的模拟器1个服务器,2个二层交换机(不是三层的),4个PC机,1个路由器三个网段192.168.1.0 255.255.255.0 (PC0,2所在网段)192.168.2.0 255.255.255.0(PC1,3网段)192.168.0.0 255.255.255.0(DHCP服务器所在网段)DHCP服务器默认网关192.168.0.14个PC机无需任何配置。

2024-06-01 16:49:18 717

原创 代码随想录 | Day12 | 复习哈希表&&字符串章节

又犯了第一次的错误,要先看符不符合条件在添加而不是一股脑的全添加,全添加会导致如果第二次加的和第一次的一样那么第二次的就不会加入其中。写成先判断是不是循环后判断是不是1了,导致如果只有一个数1的话会判断为循环。第二个for给第二个元素去重时不应该直接返回res,而是应该break。忘记统计组合出现的次数,只顾着有没有出现过,从而少了组数。去除空格的双指针过程有错误,这个很不熟练,要多加练习。具体做法,全都重写一遍,此篇记录仍不太会的题目。最后忘记了收缩快慢指针。

2024-05-31 13:06:27 238

原创 代码随想录 | Day11 | 复习数组&&链表章节

要用两个节点前面的那个结点作为基准来进行快慢指针的移动,不要不用前面的那个节点,也别光用前面的那个结点,总结:还是哈希表好用(bushi。忘记了在相等情况下加标记这一做法,想着按照原来找左右边界的做法来做,其实更推荐的是加标记,既好记住又不容易错。没搞清楚滑动窗口后端后移的条件,其实就没啥条件,移动就完事了,如果种类超过了2种会由循环进行处理,不用理会。总体:大体代码会写,就是细节处理不够好,重点还是滑动窗口和字符串。需要双指针要想双指针定义,如何初始化,快慢指针向前移动的条件!

2024-05-31 13:05:42 342

原创 计算机网络学习实践:模拟OSPF动态路由协议

思科的模拟器5个路由器,3个二层交换机(不是三层的),3个PC机8个网段172.16.0.0 255.255.0.0 (PC0所在网段)172.17.0.0 255.255.0.0 (PC1所在网段)172.18.0.0 255.255.0.0 (PC2所在网段)192.168.1.0 255.255.255.0 (R2和R0)192.168.2.0 255.255.255.0 (R1和R0)192.168.3.0 255.255.255.0 (R1和R4)

2024-05-30 13:02:01 648

原创 计算机网络学习实践:模拟RIP动态路由

华为模拟器ENSP3个路由器,3个二层交换机(不是三层的),3个PC机5个网段192.168.1.0 255.255.255.0 (PC1所在网段)192.168.2.0 255.255.255.0 (PC2所在网段)192.168.3.0 255.255.255.0 (PC3所在网段)172.0.0.0 255.255.255.0(AR4和AR5之间)176.0.0.0 255.255.255.0(AR5和AR6之间)

2024-05-30 13:00:57 801

原创 计算机网络学习实践:模拟静态路由

静态路由确实感觉人工处理起来会很麻烦路由器相连的两个网段只有是一个子网的情况下才能通信,否则不能。

2024-05-30 12:54:34 522

原创 计算机网络学习实践:模拟PPP协议&&验证虚拟局域网(VLAN)

实验环境:思科模拟器主要用到的就是RouterA和RouterB路由器连接注意:一台路由器的serial 2/0连接另外一台的 serial 3/0,这台的2/0去连接下一台的3/0,交错开来。

2024-05-29 11:58:22 868

转载 IP,网络地址,主机地址,网络号,子网号,主机号定义、相互关系及其计算

例如IP地址和子网掩码理解当前子网当前子网掩码转换为二进制是,这意味着前27位是网络部分(包括子网部分),后5位是主机部分。当前子网可以容纳的主机数量是2^5 - 2 = 30台(减去网络地址和广播地址)。确定进一步划分的子网数假设我们想要将当前子网划分为4个子网。这意味着我们需要从当前的主机部分中借用2位来作为新的子网部分。借用2位后,新的子网掩码将是(二进制为),前29位是网络部分(包括子网部分),后3位是主机部分。计算新的子网号。

2024-05-28 17:06:18 1626

原创 计算机网络学习实践:Wireshark网络分析就这么简单:从一道面试题说起

1.B ping A的过程是B交给网关,网关交给A,A直接回复给B2.ARP回复时不会进行是否在同一子网的判断。

2024-05-27 18:22:22 808

原创 代码随想录 | Day010 | 字符串:KMP算法&&找出字符串中第一个匹配项的下标&&重复的子字符串

前缀:包含首字母的所有子串后缀:包含尾字母的所有子串。

2024-05-27 12:34:51 931

原创 代码随想录 | Day09 | 字符串:反转字符串&&反转字符串II&&反转字符串里的单词

去除中间的,不等于空格的时候快指针的值直接赋值给慢指针,等于空格的时候进行判断如果他的前一个也是空格那就不更新慢指针如果第一次碰到空格也要赋值给慢指针(就相当于进行了单词间的空格的保留操作)慢指针start,快指针用循环因子i表示,只要快指针等于空格,那就说明快慢指针之间是一个完整单词那就反转该部分的单词,然后更新慢指针为下一单词的首个元素即i+1。双指针,慢指针指向一个单词头,快指针指向单词尾后的空格,这样好利用reverse。主要还是考察删除空格的双指针操作,反转字符串本身不难。1.双指针操作字符串。

2024-05-26 14:22:56 422

原创 代码随想录 | Day08 | 哈希表:四数相加II&&赎金信&&三数之和&&四数之和

1.数组,set,map一共三种哈希表各有各的使用场景2.set的操作如find,count等熟练3.双指针yyds。

2024-05-25 14:25:44 597

原创 代码随想录 | Day07 | 哈希表:有效的字母异位词&&两个数组的交集&&快乐数&&两数之和

用unordered_map来进行元素标记,first为nums[i],second为对应元素下标i,然后再哈希表中查找target-i,能找到说明就是答案,找不到就说明没有答案。先建立了一张哈希表,然后再遍历一遍去匹配有没有答案,问题是如果碰到重复元素,map中只会记录一个,自然而然下标也只有一个。在第一遍遍历时候就开始找,这样做,重复元素的nums[i]和i就不会进入哈希表而是直接输出成为答案,从而避免了这样的问题。比如nums1是1,2,2,1而nums2是2,2。res就会是2,2而不是2。

2024-05-24 13:41:07 396 1

原创 代码随想录 | Day06 | 链表:两两交换链表中的结点&&删除链表的倒数第N个结点&&链表相交&&环形链表II

快指针cur初始化为head,慢指针初始化为虚拟头结点,刚开始两者就相差1步,快指针再经过n步完成快指针的任务,然后一起向后移动,当快指针为nullptr时,慢指针刚好是倒数第n个结点的前一个,这样做是为了更好地完成删除操作,不然我们移动到要删除的结点反而有点束手无策。维护两个相差n步的指针,然后同时向前遍历,等快指针到达末尾结点的下一个NULL时,慢指针刚好指向倒数第n个。弄成一样的方法就是求出长度的差值让长度长的链表提前走这么多步,然后二者再一起遍历就相当于是相同长的链表了。

2024-05-23 15:44:23 905 1

原创 代码随想录 | Day05 | 链表:移除链表元素&&设计链表&&反转链表

用tmp=cur->next来更新tmp,使得cur和tmp产生关联,和循环条件统一起来,当tmp=NULL时,不会因为使用tmp->next而报错。addAtIndex函数的if条件里面是要index>size而不是index>=size,因为=的时候是要插入到末尾。2.没有了虚拟头结点,我们就不知道第一个到底是不是为空,则需要在两个while()处加入head不为空的判断条件。1.头结点是val头结点连着的下面几个可能也是val,所以要用while而不是if来处理头结点。最后返回的就是pre。

2024-05-22 19:09:32 847 1

原创 代码随想录 | Day04 | 数组:螺旋矩阵II和I&&146.螺旋遍历二维数组&&数组总结

主要学习内容:螺旋遍历二维数组坚持循环不变量选定一种区间进行编写。

2024-05-20 20:18:22 537

原创 代码随想录 | Day03 | 数组:有序数组的平方&&长度最小的子数组

现在你有两个篮子,你如果选择第i棵树开始采摘,那下一棵树必须是你有的两种篮子中的一个,才能够继续采摘,如果不是两种类型,那么有两个选择,直接输出最大值和继续采摘,显然这时候不一定是最大值,所以我们只能继续采摘,然后把这次的最大值和以前的最大值比较去一个最大值,你还想继续采摘,就必须舍弃掉除了fruits[i]的另外一种水果类型,因为你是从fruits[i]继承过来的,而舍弃的这一行为就是滑动窗口前端后移的情况。3.滑动窗口后端后移的条件:目前所持有的水果类型小于2,即哈希表的大小小于2。

2024-05-19 13:40:57 521

原创 代码随想录 | Day02 |数组:移除元素及其相关题目

思路:用快指针遍历原数组,只不要碰到val,说明原数组和新数组下标一致,两者的数也是一样的,碰到val后,快指针移动慢指针暂停,用快指针的值代替慢指针,然后继续移动。思路:也是和移除元素差不多,遇到#就回退,表现为新数组下标s–,即新数组的内容少了一个,当然前提是s要大于0,如果没有遇到就赋值给新数组。快指针遍历原数组,只有当快指针和其前一项所指向的数不同时慢指针才会进行覆盖和++其实就把元素0移除(和27一样的操作),然后把新数组之后的都赋值成0即可。快指针是原数组的下标。慢指针是新数组的下标。

2024-05-17 16:05:49 1274

原创 代码随想录 | Day01 | 数组:二分查找及其相关题目

public:while(l

2024-05-16 20:24:43 342

PPP协议模拟的思科源文件

PPP协议模拟的思科源文件

2024-05-29

空空如也

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

TA关注的人

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