- 博客(17)
- 收藏
- 关注
原创 计算机组成原理—定点数的加法
数据在存储器当中仍是单符号位,运算的时候才会出现双符号位检测。把x的原码最右边第一个1到符号位(不包括符号位)全部取反。2.最高位和次高位进位不同(按位异或的方法)就会溢出。算术位移 符号位不变,只对数值位移动。左边补位的不是补0 而是补符号位相同的数字。同号加法,符号位不变,进行加法运算。异号加法:先判断符号,再求出绝对值。定点数分为定点整数还有定点小数。位移运算分为逻辑运算 算术运算。1.结果的符号位与两个加数不同。逻辑位移:无视符号位统一移动。把x补码带符号位取反加1。
2025-12-17 12:45:28
110
原创 计算机网络—DNS系统
客户端询问地方服务器,地方服务器询问跟域名服务器,跟域名服务器告知地方服务器地地方服务器告知客户端,址,客户端询问顶级域名服务器,依次向下,最后递归。又客户端询问地方服务器,采用递归查询,地方服务器询问根域名服务器,直到目标ip使用迭代查询,过程全由地方服务器询问。客户端询问地方服务器,服务器去询问根域名服务器,跟域名服务器询问顶级服务器,一层层向下,问道之后递归回来。国家顶级域名下的二级域名由国家自行确定,不同层级域名,名字可以重复。顶级域名,一级域名,二级域名,…域名空间,域名服务器,域名解析系统。
2025-09-16 23:09:31
216
原创 青年节 :c++
/3. 这个格式定义格式上属于字符数组,由于带有\0所以也可以作为字符串使用。13.1字符串和字符数组的区别:字符串有\0 字符数组没有 字符数组带有花括号。//利用gets输入的特点: 遇到\0才会停止录入,因此字符串的录入一般选择用gets函数。2.独特的for循环条件将arr1和arr2比较,小的填入arr3当中。//cin进行键盘录入的缺点: 遇到空格就停止。for循环当中i的范围是m—(m+n)
2025-05-04 10:53:28
858
原创 35:红黑树概述以及红黑树插入
红黑树优点:查找效率不错,树的插入和删除比较简单,效率很高。1.1将插入节点的父节点,叔叔节点,变成黑色节点。1.2将祖父节点变成红色节点,并且返回。二叉树以及衍生的各种树的区别和联系。1.:插入节点的叔叔节点为红色。2.:插入节点的叔叔为黑色节点。分为LL LR RR RL。如果出现两个红色节点相连。
2025-03-20 17:38:39
162
原创 数据结构:3.4拓扑序列和拓扑排序
拓扑排序的实现:总思路:利用邻接链表,把各个顶点的入度存入一个数组indegree,如果节点的入度为0,那么入队,出队时删除对应的线的关系,更新度的数组indegree。//3.2出队第一个顶点,删除边的关系,更新indegree数组,如果出现顶点入度为0,入队。3.2:出队一个顶点,删除边,更新indegree数组,如果出现顶点入度为0,入队。如果返回值为0表示为无环图,如果返回值为1表示为有环图,返回值为-1表示错误。,出队以后,删除节点的入度,更新入度数组,把度为0的数组入队。
2025-03-04 13:11:46
148
原创 图的最小生成树
1. 采用邻接矩阵来表示这个图,又考虑到查找的最小值,所以邻接矩阵保存的不存在的边值为INF。找到权重最小的边,两个顶点可以连接的条件是1.连线以后不会形成环,2.两条线成线之前不能连接。* 2. 从cost数组中,找到一个最小值,该顶点就是下一个被激活的顶点。* 3. 同时,保存 visit 和 当前节点的编号,以及权值。* mark数组: 是否被访问过数组,记录某个顶点是否被访问。* cost数组: 权值数组,保存了图中到该顶点的边权值。* visit数组:存到该顶点的边,是从哪个顶点来的。
2025-03-01 20:27:54
186
原创 最小生成树
3利用Kruskal算法获取顶点的数目,在边集数组当中找到符合条件的边,组成最终的最小生成树。最小生成树条件:以最少的边的数目,把所有节点全部连接起来,并且所有连线权值之和最小。// 2. 从已经排序好的边集数组里,找到最小值的边,当这个边加入后,不构成环。// 1.1 初始化,存放每一个节点的编号,自己指向父节点。//定义一个并查集用来判断当前最小权值的边能否进入。//把并查集当中的边赋值到最终的边当中。2.按照权重从大到小的顺序给边排序。//进行对符合条件的边的操作。1.邻接矩阵转化成边集数组。
2025-02-26 19:59:03
177
原创 c语言基础:二维数组
例如:上述例子中的数组在内存中是一行一行存储的,而不是一个数据一个数据存储的,一次存储三个数据,所以对应该数组的指针定义是。定义指针指向二维数组:由于二维数组在存储数据过程的特殊性,利用指针指向二维数组的表示方法也比较特殊。数组的访问:p+1是越过一行的访问 从这一行的开头位置,到达下一行的开头位置。例如:char p[6][3]指的就是六行三列的一个二维数组。一般格式:数据类型 数组名[行的数目][列的数目]
2025-02-24 16:46:36
260
原创 c语言基础:二维指针
二维指针:二维指针包括两个空间,第一个空间存储各个指针,第二个空间存储每个指针对应的数据空间。例如:char *str[3]="man, whatcanisay,mambaout"二维指针的作用:将物理层面不连续的空间,通过数组连接起来。二维指针构成:数据类型 **指针名。二维指针一般会和数组配合使用。
2025-02-24 16:32:58
467
原创 邻接表的深度搜索和广度搜索
深度搜索:注:两种方法都定义了一个visit数组,数组的所有初始值都是0,用于判断索引是否已经连接过。2.将队列初始化,入队0索引对应的节点,将0索引对应的visit节点数值赋值1。1.初始化索引0位置的节点,定义指针p,指针p指向初始节点连接的链表。2.核心: 利用while循环,迁出其他符合条件的节点。/定义一个p指针用于链表循环,迁出其他符合条件的节点。填充任务,找到符合条件的节点入队。
2025-02-21 21:39:51
194
原创 邻接矩阵的深度搜索和广度搜索
2.利用for循环,继续找新激活的点(需要满足1.首先边存在,2.索引对应visit的节点还未被激活)1.一旦把节点放到了队列当中,就意味着已经激活,一旦再发现新节点,不用重复进入队列。//向下找寻新激活的节点,对这些节点进行访问(条件:首先存在边,同时没有被连线)深度搜索:定义一个数组visit,并且初始化为0,判断一个点,是否已经被连接。逻辑:一旦一个元素被激活,那么要同时激活该元素同一行的全部节点,将这些节点入队。1.激活索引为0的点,并且将该索引对应的判断数组visit对应的值改为1。
2025-02-21 21:25:38
326
原创 图的表示方法以及实现1.
1.存顶点的信息的数组 2.存边信息的二维数组 3.nodenum访问边界 4.定义边的数量 5.判断是有向图还是无向图。// 初始化边的默认值,两个顶点之间如果没有连接,需要初始化为什么值,方便后续算法的运行。ISedge(graph->edges[x][y])) {定义顶点的结构:包括索引,以及指向真实数据的指针。定义将顶点和边整合起来的结构体:包括。接口:1:对图形成员进行初始化。定义边的结构 :给int 起别名。//图形空间的成员进行初始化。注:初始化边的默认值。
2025-02-19 22:50:38
333
原创 21.2图的表示 2.18
即从矩阵的左上角到右下角的主对角线为轴,右上角的元与左下角相对应的元全都是相等的。图的邻接矩阵是用两个数组来表示,一个一维数组存储图中的顶点信息,一个二维数组(我们将这个数组称之为邻接矩阵)存储图中的边的信息。包括无向图邻接表和有向图邻接表,无向图邻接表比较简单,有向图邻接表:分为有向图的正邻接表和有向图的逆邻接表。2.邻接表:每个顶点用一个单链表,或者数组组成,一个顶点包括三个信息,顶点的索引,存储的数据.顶点的关系,有向图的正邻接表:以顶点的出度作为标准,写出每个顶点伸出的直线。
2025-02-18 17:43:18
189
原创 2.1图的概述 2.18
在一个图 G =( V , E )中,从顶点)到顶点)的一条路径是一个顶点序列( i , it i2,, im , j ),若此图 G 是无向图,则边(0, i ),( in ,i2),.( im , j )属于 E ( G );注:大学阶段一般不学习混合图 有向有环图和有向无环图:有向有环图:如果一个图, 从任意一个顶点出发,经过若干个定点可以回到原来的顶点,那么 这个图就叫有向有环图,反之则为有向无环图。图中的每一条边都可以附有一个对应的数,这种与边相关的数称为权。并称它们互为邻接点。
2025-02-18 13:48:02
460
原创 数据结构:20.哈夫曼树的实现2.17
思路:创建huffmanTree的过程,设带有初始数据的元素个数为n,创建的整个树节点个数为2n-1.因为需要一个父节点为0的元素,所以创建2n个节点,3.填充从n+1开始的空间直到2n-1,利用for循环,在1~i-1的范围内怕,查找父节点为0的情况下,找到两个最小的节点索引。4.将这两个节点的父节点更新为i,对i节点的左右节点,权值进行更新。2.建立一个真实区,真实区域存储n个节点,通过指针指向这些区域。//指向缓存区最后的索引。//3.通过树把对应的0或者1存进缓存区。//指向当前节点的父节点。
2025-02-17 21:52:36
164
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅