自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【计算机网络】计算机网络英文名词速查

Hub:集线器 switch:交换机。其中10指的是标准的速率为10Mb/s。

2025-09-08 17:06:08 1146

原创 【计算机组成原理】存储器拓展与交叉编址问题

本文介绍了存储器控制信号和拓展方法。常见控制信号包括片选(CS)、芯片使能(CE)、写使能(WE)等,多为低电平有效。存储器拓展分为位拓展和字拓展:位拓展通过并联多片芯片增加数据位宽;字拓展利用高位地址线进行片选,可采用线选法或译码片选法。文中还比较了高位编址和低位编址的优缺点,指出低位交叉编址能提高访问效率,当存储器体数n满足nr=T时(r为总线传输时间,T为存储器访问周期),可实现最佳性能。

2025-07-25 08:45:36 1363

原创 【计算机组成原理】SRAM与DRAM

一般情况下以字节进行编址,所以在一个DRAM芯片中,地址引脚的个数为存储单元数量取对数(log2)。DRAM由于使用电容存储信息,所以每隔1-2ms会丢失信息,所以需要进行刷新,重新读写一遍每个存储元件的信息。2、DRAM的刷新与cpu、其他存储器无关,DRAM的刷新控制元件集成于芯片内部。(3)异步刷新:用刷新间隔÷要刷新的行数,得出的每个时间段的末尾进行刷新。(1)集中刷新:在刷新间隔期将所有单元的刷新集中到一个时间段。(2)分散刷新:每读写一次刷新一行。1、DRAM的刷新单位为一行,即。

2025-07-24 17:00:43 368

原创 【计算机组成原理】外存:磁盘与固态硬盘

位密度:磁道单位长度上能够记录的二进制代码位数。静态磨损均衡:自动进行数据分配迁移,让老的块多承担读的职责,新的块多承担写的职责。固态硬盘的块若被擦除过多次数,会坏掉,于是引入磨损均衡。:一个盘面上有几个磁道,即为柱面数。磁盘的记录密度主要分为道密度、位密度和面密度。道密度:沿磁盘半径方向单位长度上的磁道数量。旋转延迟时间:移动道对应扇区需要花的时间,动态磨损均衡:写之前选累计擦除次数少的块。寻道时间:磁头移动到目标磁道的时间,传输时间:数据传输所需要的时间。的特点(有可能需要擦除或者迁移已有的数据)。

2025-07-24 14:27:14 641

原创 【计算机组成原理】存储器性质与分类

读写存储单元时,需要按照物理位置的先后顺序寻址,包括顺序存取和直接存取。顺序存取必须按照某种顺序对物理位置寻址,而直接存取类似于数据结构中的分块查找方式,先定义某个小区域,然后在小区域中进行查找。存储器进行一次完整的读写操作所需的时间,也就是独立两次访问存储器操作的最小时间间隔。外存通常不具有易失性。主要分为随机存取(RAM)、顺序存取、直接存取(类似数据结构中的分块查找)。存储器任何一个存储单元都可以随机存取,且存取时间与存储的物理位置无关。启动一次存储器操作到完成操作的时间,分为读入时间和写入时间。

2025-07-24 10:42:18 583

原创 【计算机组成原理】符号位OF、ZF、CF、SF详解

OF表示有符号数的加减运算是否溢出,其值为符号位进位(Cn)与数值位最高位进位(Cn-1)的异或。从上图易看出无符号数减法发生溢出时,Cn=0,又已知C0=1,所以CF的值等于Cn异或C0。CF表示无符号数的加减运算是否溢出,其值为符号位进位(Cn)与最低进位输入(C0)的异或。首先需要知道一个前提,无符号数虽然没有补码的概念,但是无符号数的加减运算。有了上面这个基础之后,当两个无符号数相加,C0=0(控制端),若Cn=1,则发生了溢出。所以从上表显然当Cn异或Cn-1时,发生溢出,即OF=1。

2025-07-21 21:26:43 4537

原创 【计算机组成原理】浮点数表示与运算

浮点数是一种在计算机中表示实数的方式,起因在于定点数无法有效表示非常大或非常小的数(如 3.1415、0.0000001 或 1e+20),这在科学计算、图形处理、工程建模等领域中是常见需求。为此,引入了浮点数,它通过科学计数法的思想,用符号位、阶码和尾数的组合表示实数。通常,浮点数表示为:式中式中,S取值0或1,用来决定浮点数的符号;M是一个二进制定点小数,称为尾数,一般用定点原码(无符号)小数表示;E是一个二进制定点整数,称为阶码或指数,用移码表示。R是基数(隐含),可以约定为2、4、16等。

2025-07-21 16:02:13 1704

原创 【计算机组成原理】C语言中数据类型表示及转换总结

上标中所有数据类型都属于有符号数,如果在关键字前加unsigned字段,如unsigned int,则表示无符号数。PS:若同时出现符号转换以及长度转换,则先进行长度转换后,再进行符号转换。无符号数与有符号数互相转化的规则是,无符号数将。若原数据为有符号数,则进行符号拓展,即将。若原数据为无符号数,则进行零拓展,即将。长字段数据转短字段数据的规则是。PS:这里需要记忆一下。

2025-07-21 11:48:01 393

原创 【计算机组成原理】原码、补码和移码

在计算机中,是数值本身的真实含义,而是用于计算机内部存储和运算的编码方式。由于计算机只能处理0和1,表示就变得复杂。为此,引入了(直接用最高位表示正负)、(将减法转化为加法、便于硬件实现统一运算)、(用于浮点数表示,方便比较大小)。这些编码方式是为了让计算机更高效、统一地处理正负数、整数和浮点数。

2025-07-20 12:27:46 2466

原创 【计算机组成原理】进制转换

进位计数制是现代数字表示的基本方法之一,其特点是一个数由一串数字组成,每位数字有一个位置值(位权),该位置值随着位置的变化按某种“进位规则”成比例变化。1、基数:也叫进位基数,表示系统中可使用的不同数字符号的数量。例如:十进制的基数是 10(使用数字 0~9,逢10进1)二进制的基数是 2(使用数字 0,1,逢2进1)八进制基数是 8(使用数字 0~7,逢8进1)十六进制基数是 16(使用 09 和 AF,逢16进1)2、位权:某一位上的数字,其权值由该位所在的位置决定。越靠左的位,其权值越高。

2025-07-19 11:28:27 1028

原创 【计算机组成原理】秒懂计算机性能指标及公式推导

I=Instruction=指令 P=Per=每=‘÷’ C=Cycle=周期=时钟周期 S=Second=秒=时间。CPI= 多少个时间周期 每个 指令=C÷I=IPC= 多少个指令 每个 时间周期=I÷C=主频= 多少个时间周期 每 秒=C÷S=IPS= 多少个指令 每 秒=I÷S=CPU运行时间=时间=S=CPU运行时间=S=, 即指令数*CPI÷主频。, 即主频÷CPI。,即时间周期数/主频。

2025-07-14 16:18:49 969

原创 【计算机组成原理】通俗易懂了解硬件工作基本流程

将PC的内容送MAR,MAR中的内容直接送地址线,同时控制器将 读信号送读/写信号线,主存储器根据地址线上的地址和读信号,从指定存储单元读出指令,送到 数据线上,MDR从数据线接收指令信息,并传送到IR中。将R中指令的地址码送MAR,MAR中的内容送地址线,同时控制器将读信 号送读/写信号线,从主存储器中读出操作数,并通过数据线送至MDR,再传送到ACC中。控制器根据 R 中指令的操作码,生成相应的控制信号,送到不同的执行部件。在本例中,IR中是取数指令,因此读控制信号被送到总线的控制线上。

2025-07-14 15:19:54 1021

原创 【计算机组成原理】计算机组成与层次结构

在翻开《计算机组成原理》之前,许多人都会对着那块密密麻麻的主板发呆:一堆闪着冷光的金属、塑料和硅片,凭什么就能跳出动人的旋律、绚丽的画面,甚至让人沉浸其中的游戏虚拟世界?秘密的起点其实朴素得近乎乏味——“通电”或“断电”。工程师把“通”约定为 1,“断”约定为 0,于是电流的每一次脉动都在说同一种语言:二进制。

2025-07-14 12:22:45 840

原创 【计算机组成原理】计组概论英文名词速查

目录一 CPU相关 CPU MAR MDR PC IR CU ALU ACC MQ X PSW二 计算机体系结构与系统架构 ISA M0-M4三 性能指标 CPI IPS IPC FLOPS

2025-07-12 14:21:36 588

原创 【数据结构】图的存储

define MaxVertexnum 100 //最大顶点数//顶点数据类型//边数据类型typedef struct { //邻接矩阵定义//顶点表//边表//顶点数与边数}MGraph;#define MaxVertexNum 100 //顶点数typedef struct ANode{ //边表节点int adjvex;//这里因为顶点数据用数组存储,可以用数组下标int型表示而不用char//指针域}ANode;

2025-04-06 12:33:26 1094

原创 【数据结构】图的基本概念

通俗来说一堆顶点被一堆线连在一起,这一坨顶点与线的集合就是图。图的严格定义如下:图G由顶点集 和边集 E组成,记为 G=(V,E),其中 V(G)表示图 G中顶点的有限非空集;E(G)表示图 G中顶点之间的关系(边)集合。若V={v1,v2...,vn},则用表示图G中顶点的个数,E={(u,v)|uV,vV},用表示图G中边的条数。

2025-04-02 12:05:05 732

原创 【数据结构】并查集

查询操作指的是给定一个x,能够找到x所属集合的标志节点,即根节点。而合并操作指的是给定两个集合,需要把其中一个集合并到另一个集合里,即把一个集合的根节点连到另一个集合的根节点。由上可以知道并查集的操作针对的元素主要是每个集合的标志节点,即根节点,所以使用树的双亲表示法来表示并查集会显得很方便。而对于Find的优化,可以知道如果所有的集合都只有两层(根节点和其他节点),那么查询的时间复杂度会大大下降。并查集就是拥有合并和查询功能的集合的集合。是一个增长极其缓慢的函数,对于常见的正整数 n,通常。

2025-03-29 17:15:52 713

原创 【数据结构】树与森林

这种存储结构采用一组连续空间来存储每个结点,同时在每个结点中增设一个伪指针,指示其双亲结点在数组中的位置,根结点下标为0,其伪指针域为-1。

2025-03-29 16:24:06 1055

原创 【数据结构】一文看懂二叉树的存储与遍历

就能够避免这种循环。而这种后入后出(迟到早退(bushi)的原则符合栈的特性。所以这里我们设立一个栈,将访问过的所有节点按次序入栈,

2025-03-18 20:41:40 2221

原创 【数据结构】哈夫曼编码与哈夫曼树

同时注意我这里将哈夫曼树的左树枝置为0,右树枝置为1,你当然也可以左置1右置0,这样生成的哈夫曼树也不一样。此时如果令这个二叉树的左边为'0',右边为'1',并且令根节点到达某个字符代表的叶节点的路径为其编码,则得到的编码序列就能够同时满足短且不产生歧义的两个要求。首先根据前缀的定义,当我们把待编码的所有字符的编码长度都设定成一样的,那么自然就不会出现互为前缀的情况了。从树的根到一个结点的路径长度与该结点上权值的乘积,称为该结点的带权路径长度。原因很简单,就是被编码的字符中出现了某一个字符是另一个字符的。

2025-03-13 21:24:12 1091

原创 【数据结构】树与二叉树的基本概念和性质

树是一种由n个结点(n≥0)组成的有限集合。若n=0,则该树为空树。对于任意一棵非空树,需满足以下条件:首先,存在且仅存在一个特殊的结点,被称为根结点;其次,当n>1时,除根结点外的其余结点可以划分为m个(m>0)互不相交的有限集合T₁、T₂、……、Tₘ,每个集合本身也是一棵树,且被称作根结点的子树。通俗来讲,树中的结点只能有一个父节点,但是能有很多个子节点。二叉树是一种特殊的树形结构,其特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒。

2025-03-13 19:39:37 1138

原创 【数据结构】矩阵与数组

在这里如果按行优先方式存储元素,则可以看出当i>2时,即从第三行开始,前i-1行的元素个数为3*(i-2)+2个(第一行2个,其他行3个),第i行的元素个数则为j-i+2个(如果处于对角线,则j-i=0,包括自己刚好有两个元素;,则称这样的矩阵为对称矩阵。对于这样的矩阵,我们只需要存储矩阵的下三角或者上三角元素,另一三角的元素只需将i,j互换即可得到。(i>=j),则前i-1行共有1+2+...+(i-1)=i(i-1)/2个元素,第i行共有j个元素,又由于数组下标从0开始,所以再减去1,得到下标为。

2025-03-10 15:08:47 1243

原创 【数据结构】队列的基本概念与操作

部分教材上将顺序队列臆造为一个环状的空间,即把存储队列元素的表从逻辑上视为一个环,称为循环队列。当指针到达队列末端,且还要再将一个元素入队时,将指针重置为数组的第一位,也就是跟个圆圈一样将数组头尾相连。要实现这样的操作,可以使用计算机里专门的操作符——求余运算(%)实现。当队首指针需要进1时,令Q.front=(Q.front+1)%MaxSize;当队尾指针需要进1时,令Q.rear=(Q.rear+1)%MaxSize。但有一个问题是,按照上面这种方式,队满队空时Q.front都==Q.rear。

2025-03-09 19:34:50 1108

原创 【数据结构】一文看懂前、中、后缀表达式的转换

前中后缀表达式转换:手算方法、栈的的实现、树的实现

2025-03-09 13:47:21 2933

原创 【数据结构】栈与卡特兰数(详细)

卡特兰数推导与栈的关系

2025-02-28 21:18:08 1305

原创 【数据结构】栈的基本概念和操作

如前面所提,栈是操作受限的线性表,那么理论上在计算机里栈也有两种存储方式:顺序存取与链式存取。//数据域int top;//栈顶位置}SqStack;//别名可以预见的是,顺序栈如果存储的数据超限,则会发生内存溢出(上溢);但如果存储的数据不满,又会造成空间的浪费。由于栈底的位置不会改变,这里提出一个共享栈的概念,即将两个栈设置在一个共享空间的左右两头,栈顶往共享空间的中间延伸,如下图所示:图3 共享栈的结构这种存储方式可以极大节省存储空间,同时一定程度避免栈的上溢。

2025-02-28 19:45:57 541

原创 【数据结构】链表的基本概念和操作

int data;//数据域//指针域//别名这里*LinkList表示LNode结构体的指针别名,LinkList p等同于LNode *p。并且要注意指针域next是LNode型。通过结点定义可以看出来链表与顺序表的不同之处:顺序表定义时定义的是一整个顺序表,一整个表就是一个结构体;而链表定义时结构体为一个结点而不是一串链表,结构体之间通过指针相连。int data;//定义前驱后继指针。

2025-02-08 16:18:31 1253 1

原创 【数据结构】顺序表相关例题(部分)

观察可以得到,如果把数组的前p位假设为数组a,后n-p位假设为数组b,则移动p位等同于将ab变为ba。解法1:创建一个长度为p的临时数组P,将原数组的前p位元素先存进P里,再将原数组的后n-p位元素向左移动p位,最后把P里的p个元素放回数组末尾。若遇到值为x的元素,则k加1,顺序表长度-1;题目:对长度为 n的顺序表L,编写一个时间复杂度为 O(n)、空间复杂度为 O(1)的算法,该算法删除顺序表中所有值为x的数据元素。题目:设计一个算法,将顺序表L中的一段连续元素逆置,要求算法的空间复杂度为O(1)。

2025-02-06 16:14:36 581

原创 【数据结构】顺序表基本概念和操作

静态定义通过数组给出顺序表的最大长度,在操作上比较方便。但是如果需要存储的数过顺序表的最大长度,发生内存溢出,会导致程序崩溃。#define MaxSize 50 //宏定义数组长度(方便后续修改)typedef struct{ //定义结构体//定义用于储存数据的静态数组int length;//定义已存储的数据长度}Sqlist;//结构体别名动态定义通过指针分配储存空间。当数据超限,可以通过动态分配内存语句来开辟空间,比较灵活。

2025-01-25 14:45:50 561

原创 【数据结构】线性表

线性表是用于描述元素之间一对一关系的逻辑结构,这里的一对一关系指的是在逻辑上除了第一个元素和最后一个元素之外,一个元素的前面与后面都只有一个元素,就像用线串起来一样,所以叫做线性表。当然实际体现在储存位置上,元素与元素不一定相邻。比如说小明、小明他爸和小明的儿子出去旅游,他们三个不一定住在同一个宾馆里,但是从辈分上来说小明他爸还是他爸,小明儿子还是他儿子,逻辑关系不变。这里给出线性表的严格定义:线性表是具有的n(n>0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。

2025-01-24 12:03:56 267

原创 【数据结构】时间复杂度

在设计算法时,我们通常关注算法的。然而,由于不同计算机的软件和硬件差异,直接通过程序的执行时间来评估算法效率并不可靠。因此,我们通常通过统计算法在求解过程中计算机来算法的运行时间。对于同一个问题,当采用不同算法时,求解过程中语句的执行次数越少,意味着该算法的效率越高。一个语句的是指该语句在算法中被重复执行的次数。事实上,算法中所有语句的频度之和与算法中处于最里层的语句的频度数量级相当。对于下面的代码:该代码的频度和(即所有语句的总执行次数)为n,数量级也为n。该代码的频度和为(n个n的和),数量级也为。

2025-01-24 11:16:18 768

空空如也

空空如也

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

TA关注的人

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