自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【计算机网络】第六章·应用层

应用层的主要任务是通过应用进程的交互实现特定的网络应用,网络应用程序只运行在端系统中,运输层为其提供了端到端的进程间逻辑通信服务。

2024-02-18 16:38:28 1203

原创 【计算机网络】第五章·运输层

在计算机网络通信中,网络层提供了主机间的逻辑通信,通信两端主机中的进程为通信的真正实体,而运输层则直接提供应用进程间的逻辑通信。

2024-02-16 20:24:00 2159

原创 【计算机网络】第四章·网络层

网络层的主要任务是将分组从源主机经过多个网络和多发链路传输到目的主机,包括分组转发和路由选择两个部分分组转发:路由器接收分组后根据转发表进行转发路由选择:网络层决定哪一条路径传送分组核心思想:把网络中控制层面和数据层面分离,控制层面利用软件来控制数据层设备。

2024-02-06 18:15:36 2051

原创 【计算机网络】第三章·数据链路层(三)

由于无限电广播为圆形传播,当无线移动站A和B同时发送广播时,会存在AB的信号都到达接入点AP,但却无法到达对方站点的情况,此时AB无法接收到对方的无线信号,从而认为信道空闲。常见的VLAN实现机制是基于以太网交换机接口实现,该交换机需要具备1.能够处理VLAN标记的帧,即IEEE 802.1Q帧,2.支持不同的接口类型。对于802.11无线局域网来说,与共享式以太网的传输介质不同,因此不能使用CSMA/CD协议,而使用。的各帧,使用SIFS的帧类型有:ACK帧、CTS帧等。

2024-01-26 09:25:45 581

原创 【计算机网络】第三章·数据链路层(二)

用于建立、配置、测试数据链路的连接以及协商一些选项网络层PDU作为PPP帧的数据载荷被封装在PPP帧中传输包含多个协议,分别用来支持不用的网络层协议。

2024-01-25 15:25:41 1189

原创 【计算机网络】第三章·数据链路层(一)

链路:从一个节点到相邻节点到一段物理线路(中间无其他交换节点)数据链路:在链路上传输的数据,除链路本身外,还有一些必备的通信协议来控制数据传输,把 实现这些协议的硬件和软件加入链路中构成数据链路;其中的通信协议由网络适配器(物理层+数据链路层)和软件驱动程序实现帧:数据链路层对等实体在水平方向上进行逻辑信息通信的协议数据单元PDU。

2024-01-24 22:10:46 1130

原创 【计算机网络】第二章·物理层

接口特征:1.机械特征:形状,尺寸,引脚数目和排列,固定/锁定装置2.电气特征:信号电压范围,阻抗匹配情况,传输速率,距离限制3.功能特性:规定接口电缆各信号线的作用4.过程特性:规定信号线上传输比特的一组操作过程,包括各信号间的时序。

2023-11-13 18:38:18 100

原创 【计算机网络】第一章·计算机网络概述

电话交换机接通电话线的方式就是电路交换,使用电路交换进行通行有三个步骤:1.建立连接:从主叫方到被叫方之间建立一条专用的物理通路,为双方分配通信资源2.通话:双方占用通信资源进行通话3.释放链接:通话结束,该物理通路被交换机释放,将所占用的电信资源归还电信网特点:电路交换的延迟最低,适用于连续大量的数据且数据传输时间>>建立时间主机发送的整块数据被称为报文,分组交换是将该报文构造成若干个分组发送出去,分组传送途中的各交换节点对分组进行存储转发,目的主机收到后将其还原;

2023-11-09 12:37:34 87

原创 【计算机组成原理】第七章·I/O系统

I/O接口又称控制器,设备控制器,是用于协调主机和外设之间的数据传输。

2023-11-02 19:08:27 357

原创 【计算机组成原理】第六章·总线

1.总线的定义:总线是指一组能为多个部件共享的公共信息传送线路2.总线的特性:总线特性分为机械特性,电气特性,功能特性和时间特性3.总线设备:总线上所有连接的设备,按其对总线有无控制功能可分为主设备和从设备两种;主设备是指获得总线控制权的设备,从设备是指被主设备访问的设备,它只能响应主设备发来的各种总线命令。

2023-10-31 10:49:15 100

原创 【计算机组成原理】第五章·中央处理器

1.指令控制:完成取指令,分析指令,执行指令的操作,即程序的顺序控制2.操作控制:CPU管理并产生由内存取出的每条指令的控制信号3.时间控制:CPU为每条指令按时间顺序提供应有的控制信号4.数据加工:进行算术和逻辑运算5.中断处理:对计算机运行过程中产生的异常状况和特殊请求进行处理。

2023-10-29 20:40:54 601

原创 【计算机组成原理】第四章·指令系统

指令是计算机执行某种操作的命令,是计算机运行的指令格式:一条指令通常包括操作码字段(OP)和地址码字段两部分(A)组成其中,操作码用于识别指令,地址码用于给出被操作信息的地址。指令字长与机器字长没有固定的关系,半字长指令,单字长指令则表明指令字长是机器字长的多少倍;该指令无需知名操作数,只给出OP操作码;通常用于:1.无需操作数的指令(如空指令,停机指令)2.堆栈计算机中,操作数隐藏在栈顶和次栈顶,计算结果压入栈顶。

2023-10-27 17:41:09 65

原创 【计算机组成原理】第三章·存储系统

通常来说,存储器由CPU-寄存器-Cache-主存-磁盘等等构成多级存储系统,从左向右存储空间逐步递增,单位价格与读取速度逐渐递减。其中,CPU可以直接访问Cache和主存;Cache-主存直接解决了主存与CPU速度不匹配的问题;主存-辅存直接解决了存储系统容量的问题。

2023-10-21 22:11:35 217 1

原创 【计算机组成原理】第二章·数据的表示和运算

十进制转换为二进制:整数部分除基取余,小数部分乘基取整(在计算机即二进制中,整数部分是连续的,任何整数都可以用二进制表示,而小数部分是离散的,并非所有小数均可转换成二进制)计算机使用二进制有如下好处:1.可以使用两个稳定状态的物理器件表示0/12.0/1对应假/真,方便实现逻辑运算3.可以通过逻辑门电路实现算术运算。

2023-10-15 21:31:02 430 1

原创 【计算机组成原理】第一章·计算机系统概述

高级语言:(C,C++,Java...)为方便程序设计人员写出解决问题的处理方案和解决过程的程序。2.吞吐量:系统在单位时间内处理请求的数量,从用户观点看,吞吐量是衡量计算机系统性能的综合参数。eg: 已知MAR为32位,MDR为8位,则总容量=2^32 *8bit = 4GB。链接:将多个可执行文件与标准库函数合并成一个可执行的目标文件,最终结果保存在磁盘中。机器语言:又称二进制代码语言,需要编程人员记忆每条指令的二进制编码,是。数据通路:数据在功能部件中传送的路径,由控制部件产生的控制信号建立。

2023-09-25 22:45:27 112 1

原创 【Linux】操作系统与进程概念

任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:内核(进程管理,内存管理,文件管理,驱动管理)其他程序(例如函数库,shell程序等等)

2023-08-12 18:50:10 75 1

原创 【C++】详解C/C++内存管理

如果申请的是内置类型的空间,new和malloc,delete和free基本类似,不同的地方是: new/delete申请和释放的是单个元素的空间,new[ ]和delete[ ]申请的是连续空间,而且new在申请空间失败时会抛异常,malloc会返回NULL。6. 申请自定义类型对象时,malloc/free只会开辟空间,不会调用构造函数与析构函数,而new 在申请空间后会调用构造函数完成对象的初始化,delete在释放空间前会调用析构函数完成 空间中资源的清理。当原空间后面足够大,在原空间上追加空间;

2023-06-28 22:02:01 106 1

原创 【C++】详解类和对象

类和对象的初理解

2023-06-25 21:59:08 383 1

原创 【C++】命名空间/重载/缺省/引用/内联函数/auto关键字

在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存 在于全局作用域中,可能会导致很多冲突。C++11中,标准委员会赋予了auto全新的含义:auto不再是一个存储类型指示符,而是作为一 个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调 用建立栈帧的开销,内联函数提升程序运行的效率。内联函数使用时,声明和定义不可分离,即需要放在同一项目中。

2023-04-27 20:32:24 267

原创 【数据结构】逐字分析函数栈帧的创建与销毁全过程

探究函数栈帧的创建与销毁

2023-04-03 18:09:55 274 2

原创 【数据结构】栈&队列OJ

我们使用两个队列,一个存放数据一个为空,当push数据是,我们就在q1处入队列,而当要出栈的时候,我们把q1的数据移到q2中即可,最后再将q1中仅剩的数据返回值并出队列。本题设置了front与rear结构,因此在取头尾的时候直接利用front和rear即可获取元素下标,但是要注意的是,因为是循环队列,在取队尾的时候要取队列长度的模。如何用栈实现队列呢?我们知道,栈和队列的首要区别就在于数据操作方式,栈是FILO,而队列则是FIFO,要想用两个栈实现队列,那就需要不断变换两个栈里的内容。

2023-04-01 20:19:12 133 2

原创 【数据结构】栈&队列

队列与栈不一样的地方在于队列支持的是FIFO操作,因此我们要不断变化队首的元素,如此一来,用数组实现的话,每次操作都会调动整个数组,严重影响效率,但是链表可以支持头插头删,这样一来,FIFO的问题便可迎刃而解。如果用链的话,每次出栈都需要找到尾结点的前一个,会造成许多不必要的麻烦,当然双向链表可以解决这个问题,但是仔细想想,似乎用数组来的更方便一些。由于栈是由数组模拟实现的,入栈和出栈其实也就是对数组进行插入删除,但要特别注意的是,top指向的是栈顶元素的下一个位置。越努力,越幸运,加油!

2023-03-30 20:55:57 116 1

原创 【数据结构】链表OJ

a+(n+1)b+nc=2(a+b)⟹a=c+(n−1)(b+c) 由此可知,从相遇点到入环点的距离加上n−1 圈的环长,恰好等于从链表头部到入环点的距离。因为合并链表需要进行头插,我们可以设置哨兵为的头节点来方便操作,但是原链表是无哨兵位的,因此在返回时要返回lesshead->next;本题我想到的是先遍历计数两个链表的长度,然后双指针让长链表先走长度差,之后两个指针再一起走,找到共同节点。当然,本题还有另一个思路,我们可以在slow和fast指针相遇点断开链表,接着把问题转换成两个相交链表求交点。

2023-03-29 18:01:15 188 1

原创 【数据结构】单链表升级——带头双向循环链表

由于双向循环链表的插入删除操作类似,因此只将头插头删进行简单概要。双向循环链表的功能与单链表无异,并且虽然该链表看起来结构更加复杂,但实现方式却比单链表容易很多。同样,双向循环链表的实现方式与单链表基本无异,只是多了一个指向前一个位置的prev指针。而删除也较为简单,但是要控制好prev指针和next指针,防止出现“野”的现象。循环链表是链表的一种形式,而带头则是指链表中多了一个哨兵位的节点。带头循环双向链表与单链表的联系密不可分,大家可以将两篇内容连起来学习。而销毁也只需从头遍历释放即可。

2023-03-26 22:59:39 224 2

原创 【数据结构】多图警告!单链表的操作实现以及原理

对于给定的pos位置进行增删,原理与头尾的操作相似,但是如果pos在链表中间位置,则需调整pos位置的前一个的next,当然如果pos本身就是头尾,那其实与上面的操作无异。单链表作为一种链式数据存储结构,能实现的操作有查看数据(打印)、增加数据(头插尾插)、删除数据(头删尾删)、插入数据、查找特定数据、删除特定位置的数据等操作。特别注意的是,由于尾删时需要先找到尾节点的位置,如果我们直接将尾节点置为空,则会形成尾指针为野指针的现象,因此我们要找尾节点的上一个next并将其置为空。答案还是看物理结构。

2023-03-26 17:14:00 470 1

原创 【C++之STL初步】——排序检索与vector

排序搜索与vector

2023-01-21 16:20:57 449 2

原创 【C语言从入门到入土】——字符串函数的深度理解与模拟实现

字符函数的深入理解

2023-01-17 18:11:04 216 6

原创 【C语言从入门到入土】——指针的深入探讨

本篇将带大家深入了解指针这一概念

2023-01-06 16:55:13 121 2

原创 【C语言从入门到入土】——数据在内存中的存储

数据的类型以及整型在内存中的存储

2023-01-04 19:13:18 119 3

原创 【C语言从入门到入土】——字符串逆序的几种情况

1.字符串倒着打印2.创建一个新数组,将原数组的最后一个元素依次放在放在新数组中3.利用指针将原数组的首位与末尾依次替换,从而改变数组本身4.字符串部分逆序,以字符串“hello csdn.”为例,逆序的结果应该是“.csdn hello”

2022-12-08 18:25:29 938

原创 【C语言从入门到入土】——“binary search”折半查找法

折半查找法又名二分查找法,是一种在一个有序数组中查找特定元素的方式。相较于从头到尾的暴力搜索,这种方法可以极大地提高运行效率。但同样缺点也十分明显——只能用于有序数组。在一个有序数组中查找指定元素的下标。用折半查找法求得元素下标,我们只需要用这个数组的中间元素与目标元素进行比较,若中间元素大于目标元素,则以当前的中间元素为右边界,在新的范围内继续使用中间元素进行比较,直到中间元素等于目标元素即查找成功。

2022-12-07 15:41:19 657 5

原创 【C语言从入门到入土】——“井字棋”

井字棋又叫三子棋,作为童年经典小游戏,相信各位无论是在上课摸鱼亦或者打磨时间的时候一定与小伙伴来过这么几局游戏。游戏规则很简单,玩家只需要在3*3格子棋盘上进行连珠,双方轮流依次下棋,率先在棋盘上连成三子者获胜

2022-11-14 16:37:30 1641 2

空空如也

空空如也

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

TA关注的人

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