408
知识点

知识点库

数据结构树与二叉树

14 个知识点
二叉树遍历3
前序=根左右,中序=左根右,后序=左右根;已知任意两种(必含中序)可还原。
哈夫曼树10
哈夫曼树是带权路径长度WPL最小的二叉树,用于构造最优前缀编码。
二叉树的顺序存储1
二叉树顺序存储用数组按层序编号,适合完全二叉树,一般二叉树会浪费空间。
二叉树的链式存储0
二叉链表每个节点含lchild、data、rchild三个域,n个节点有n+1个空指针。
二叉树的定义与性质7
二叉树每个节点最多两个子树,具有n0=n2+1等重要性质。
二叉树的先序、中序、后序遍历13
先序(根左右)、中序(左根右)、后序(左右根)遍历,递归和非递归实现,可由两种序列重建树。
层次遍历0
层次遍历用队列实现,按层从上到下、从左到右访问所有节点。
线索二叉树3
线索二叉树利用空指针域存储前驱/后继信息,ltag/rtag区分孩子和线索。
树和森林的遍历6
树的先根遍历对应二叉树先序,树的后根遍历对应二叉树中序。
并查集0
并查集支持合并和查找操作,路径压缩+按秩合并后近似O(1)。
树的基本概念0
树是n个节点的有限集合,有且仅有一个根节点,其余节点构成若干互不相交的子树。
树的存储结构0
树的存储有双亲表示法、孩子表示法和孩子兄弟表示法三种。
森林与二叉树的转换0
树转二叉树:左孩子右兄弟;森林转二叉树:各树的根通过右指针相连。
堆及其应用0
堆是完全二叉树,大顶堆每个节点≥其孩子,建堆O(n),堆排序O(n log n)。

数据结构查找

13 个知识点
顺序查找1
顺序查找逐个比较,ASL成功=(n+1)/2,可设置哨兵减少比较次数。
折半查找5
折半查找要求有序顺序表,每次比较排除一半,ASL≈log₂(n+1)-1,判定树是平衡BST。
分块查找0
分块查找将表分为若干块,块间有序块内无序,索引顺序查找ASL介于顺序和折半之间。
二叉排序树10
二叉排序树左<根<右,查找效率取决于树形,最好O(log n)最坏O(n)。
平衡二叉树7
AVL树任意节点左右子树高度差≤1,通过LL/RR/LR/RL四种旋转保持平衡,查找O(log n)。
B树10
B树是多路平衡查找树,所有叶子在同一层,适合磁盘存储,减少I/O次数。
B+树3
B+树所有关键字都在叶子节点,叶子用链表相连,支持高效范围查询。
散列表6
通过散列函数将关键字映射到存储位置,平均 $O(1)$;需处理冲突和装填因子。
散列查找性能6
散列查找性能取决于装填因子α、散列函数和冲突处理方法,α越大冲突越多。
查找的基本概念0
查找的基本概念包括查找表、关键字、ASL(平均查找长度)等核心术语。
红黑树0
红黑树是近似平衡的BST,满足5条性质,插入删除最多旋转3次,比AVL树调整代价低。
字符串模式匹配0
字符串模式匹配是在主串中查找模式串的位置,朴素法O(mn),KMP法O(m+n)。
查找算法的分析及应用0
各查找算法适用场景不同,需根据数据特征(有序性、动态性、存储方式)选择。

数据结构排序

12 个知识点

计算机组成原理数据的表示和运算

15 个知识点
定点数6
定点数用固定小数点位置表示数值,分为定点整数和定点小数,补码表示范围最大。
浮点数4
浮点数用S×M×R^E表示,IEEE 754单精度32位(1+8+23),双精度64位(1+11+52)。
补码运算7
$n$ 位补码表示范围 $[-2^{n-1}, 2^{n-1}-1]$,加减统一处理。
数制与编码6
数制转换是不同进位制之间的相互转换,BCD码用4位二进制表示一位十进制。
原码、反码、补码10
原码直接表示,反码符号位不变其余取反,补码=反码+1,补码运算最方便。
定点数加减运算6
补码加减运算统一为加法,溢出判断用双符号位法或进位法(C_n⊕C_{n-1})。
定点数乘法0
定点数乘法有原码一位乘和Booth补码乘法,硬件用移位和加法实现。
定点数除法0
定点数除法有恢复余数法和加减交替法(不恢复余数法),商逐位确定。
浮点数的表示11
IEEE 754浮点数由符号位、阶码(移码)、尾数(原码)组成,隐含最高位1。
浮点数运算3
浮点数加减运算步骤:对阶→尾数加减→规格化→舍入→判溢出。
ALU0
ALU是执行算术和逻辑运算的核心部件,基于加法器实现,有串行和并行进位两种。
无符号整数的表示和运算0
无符号整数全部位表示数值,n位范围[0, 2^n-1],溢出时高位丢失。
带符号整数的表示和运算0
带符号整数用补码表示,算术移位保持符号位,符号扩展高位补符号位。
补码加减运算器与标志位生成0
标志位CF/OF/ZF/SF由ALU运算自动生成,OF=C_n⊕C_{n-1}判断有符号溢出。
乘除法电路的基本结构0
阵列乘法器用组合逻辑并行计算,迭代除法器逐位产生商,硬件结构规整。

计算机组成原理存储器层次结构

14 个知识点
Cache 映射3
直接映射 ($B \bmod C$) / 全相联 / 组相联,权衡命中率和比较器数量。
存储器分类6
存储器按介质分为半导体/磁/光存储器,按存取方式分为RAM/ROM/SAM/DAM。
主存基本结构9
主存由存储体、MAR、MDR组成,存储周期=存取时间+恢复时间,带宽=数据宽度/周期。
主存容量扩展7
主存扩展通过位扩展(加宽字长)、字扩展(增加单元数)或字位同时扩展实现。
Cache基本概念7
Cache利用局部性原理,命中率h下平均访问时间=h×tc+(1-h)×tm,多级Cache提高性能。
Cache替换算法1
Cache替换算法决定淘汰哪个块,LRU最常用,FIFO可能Belady异常,随机最简单。
Cache写策略3
Cache写策略解决Cache与主存数据一致性问题,写回法性能好,写直达法实现简单。
虚拟存储器4
虚拟存储器用磁盘扩展主存容量,通过页表实现虚拟地址到物理地址的转换。
多模块存储器0
多模块存储器通过交叉编址实现并行访问,低位交叉可提高带宽至m倍。
SRAM与DRAM存储器0
SRAM用触发器存储速度快用于Cache,DRAM用电容存储需刷新用于主存。
Flash存储器0
Flash存储器是非易失性半导体存储器,写前需擦除,有擦写次数限制。
主存和CPU之间的连接0
CPU通过地址总线、数据总线和控制总线与主存连接,总线宽度决定寻址和传输能力。
磁盘存储器0
磁盘由盘面、磁道、扇区组成,访问时间=寻道时间+旋转延迟+传输时间。
固态硬盘SSD0
SSD基于Flash芯片,无机械部件,随机读写快,但有写放大和寿命限制问题。

操作系统进程同步与死锁

13 个知识点
同步与互斥3
同步是协调进程执行顺序,互斥是保证临界资源同一时刻只被一个进程访问。
临界区7
临界区是访问临界资源的代码段,进入前需检查,遵循互斥、有空让进、有限等待原则。
信号量3
信号量通过P(wait)和V(signal)操作实现同步互斥,P减1可能阻塞,V加1可能唤醒。
管程2
管程将共享数据和操作封装在一起,同一时刻只允许一个进程在管程内执行。
经典同步问题1
经典同步问题包括生产者-消费者、读者-写者、哲学家进餐,用信号量解决。
死锁的概念5
死锁是多个进程互相等待对方持有的资源而永远阻塞,需同时满足四个必要条件。
死锁预防1
死锁预防通过破坏四个必要条件之一来防止死锁发生,但可能降低资源利用率。
死锁避免9
死锁避免在资源分配前判断是否安全,银行家算法通过寻找安全序列来决定是否分配。
死锁检测与解除2
死锁检测用资源分配图简化判断是否死锁,解除方法有终止进程和资源剥夺。
同步互斥的软件实现方法0
软件实现互斥有Peterson算法等,通过共享变量和忙等待实现,不需要硬件支持。
同步互斥的硬件实现方法0
硬件实现互斥有中断屏蔽、TestAndSet和Swap指令,原子操作保证不被打断。
0
锁是最基本的互斥机制,自旋锁忙等待适合短临界区,互斥锁阻塞等待适合长临界区。
条件变量0
条件变量配合互斥锁使用,wait释放锁并阻塞,signal/broadcast唤醒等待的线程。

操作系统文件管理

17 个知识点
索引分配6
索引分配为每个文件建立索引块,索引块中存放所有数据块的磁盘块号,支持随机访问。
FAT1
FAT文件分配表将链接指针集中存放在一张表中,整个FAT常驻内存,支持随机访问。
文件保护1
文件保护通过访问控制列表(ACL)或能力表实现,Unix用rwx三类权限×三类用户。
文件系统实现13
文件系统实现包括引导块、超级块、inode区和数据区,超级块记录文件系统元信息。
文件与文件系统4
文件是具有符号名的一组相关信息的集合,文件系统负责管理外存上的文件。
目录结构4
目录结构从单级发展到树形结构,树形目录通过路径名唯一标识文件。
文件共享3
文件共享通过硬链接(共享inode)或软链接(存路径名)实现,需要引用计数管理。
空闲空间管理5
空闲空间管理方法有位图法、空闲链表法、成组链接法等,位图法最常用。
虚拟文件系统0
VFS是文件系统的抽象层,通过统一接口支持多种不同的文件系统共存。
文件元数据和索引节点0
inode存储文件元数据(大小、权限、时间、块指针等),文件名存在目录项中不在inode中。
文件的操作0
文件基本操作包括创建、删除、打开、关闭、读、写、定位等,打开后通过文件描述符访问。
文件的逻辑结构0
文件逻辑结构分为无结构(字节流)、定长记录和变长记录文件,影响检索方式。
文件的物理结构0
文件物理结构决定文件数据在磁盘上的存放方式,有连续、链接和索引三种分配方式。
目录的操作0
目录操作包括创建、删除、搜索、列出内容、重命名和遍历目录树。
硬链接和软链接0
硬链接共享inode不能跨文件系统,软链接存路径名可以跨文件系统但可能悬空。
文件系统全局结构0
文件系统全局结构包括MBR、分区表、引导块、超级块、位图、inode表和数据块区。
文件系统挂载0
文件系统挂载将一个文件系统关联到目录树的某个挂载点,实现统一的命名空间。

操作系统输入输出管理

13 个知识点
DMA0
DMA(直接内存访问)由DMAC控制数据在内存和设备间直接传输,CPU只在开始和结束时介入。
设备驱动3
设备驱动程序是OS中直接控制硬件设备的软件模块,向上提供统一接口,向下操作硬件。
磁盘调度6
磁盘调度算法决定磁头移动顺序,SCAN(电梯算法)和C-SCAN是常用算法。
I/O硬件0
I/O硬件包括设备控制器和设备本身,控制器通过寄存器与CPU交互。
I/O控制方式2
I/O控制方式从程序查询到中断到DMA逐步减少CPU参与度,提高系统效率。
缓冲技术4
缓冲技术用于匹配CPU和设备的速度差异,有单缓冲、双缓冲和循环缓冲。
SPOOLing技术1
SPOOLing技术用软件模拟脱机I/O,将独占设备改造为共享设备,典型应用是打印机。
设备分配5
设备分配根据设备类型(独占/共享/虚拟)和分配策略将设备分配给请求的进程。
I/O软件层次结构0
I/O软件分为用户层、设备无关层、驱动层和中断处理层四个层次,各层功能不同。
输入输出应用程序接口0
I/O应用程序接口分为块设备接口、字符设备接口和网络设备接口,提供阻塞/非阻塞模式。
设备驱动程序接口0
设备驱动程序接口定义了驱动必须实现的标准函数集,使OS能统一管理不同设备。
磁盘结构与格式化0
磁盘物理格式化划分扇区,逻辑格式化建立文件系统结构,分区将磁盘划分为独立区域。
固态硬盘与磨损均衡0
SSD无机械部件读写快,但有写放大和寿命限制,磨损均衡算法延长使用寿命。

计算机网络数据链路层

18 个知识点
CSMA/CD4
CSMA/CD载波监听多路访问/冲突检测,用于以太网,最小帧长=2×传播时延×数据速率。
数据链路层功能1
数据链路层负责相邻节点间的可靠帧传输,功能包括组帧、差错控制、流量控制和访问控制。
组帧1
组帧方法有字符计数法、字节填充法、比特填充法和违规编码法,确定帧的边界。
差错控制1
差错控制通过检错码(奇偶校验/CRC)发现错误,通过纠错码(海明码)纠正错误。
流量控制与可靠传输10
流量控制防止发送方过快,滑动窗口机制同时实现流量控制和可靠传输。
介质访问控制9
介质访问控制解决多个节点共享信道的问题,分为信道划分、随机访问和轮询三类。
以太网3
以太网是最广泛使用的局域网技术,使用CSMA/CD,MAC地址48位,帧长64-1518字节。
广域网0
广域网使用点对点链路,PPP协议是最常用的广域网数据链路层协议。
链路层设备7
链路层设备有网桥和交换机,交换机通过学习MAC地址表实现按端口转发,隔离冲突域。
选择重传协议SR0
SR只重传出错的帧,接收方缓存失序帧,发送窗口和接收窗口都≤2^(n-1)。
检错编码与纠错编码0
CRC是最常用的检错码,海明码可以纠正1位错误,检错能力由海明距离决定。
停止等待协议0
停止等待协议发一帧等一个ACK,简单但信道利用率低,利用率=Tframe/(Tframe+2Tprop+Tack)。
后退N帧协议GBN0
GBN允许连续发送多帧,出错时从出错帧开始全部重传,发送窗口≤2^n-1。
信道划分多路复用0
信道划分将共享信道按频率/时间/波长/码字分为多个子信道,各用户独占子信道无冲突。
随机访问协议0
随机访问协议允许站点随时发送,可能冲突,包括ALOHA、CSMA及其变体。
令牌传递协议0
令牌传递协议中令牌在环上循环,持有令牌的站才能发送数据,无冲突但有等待延迟。
IEEE802.11无线局域网0
IEEE 802.11无线局域网使用CSMA/CA避免冲突,用RTS/CTS解决隐藏终端问题。
VLAN基本概念与原理0
VLAN通过交换机端口或802.1Q标签将物理LAN划分为多个逻辑LAN,隔离广播域。

计算机网络网络层

19 个知识点
IP 地址4
32 位分网络号和主机号,掩码划分子网;网络地址 = IP AND 掩码。
网络层功能4
网络层负责不同网络间的分组转发和路由选择,核心协议是IP。
路由算法9
路由算法分为距离向量(Bellman-Ford)和链路状态(Dijkstra)两大类,各有优缺点。
层次路由0
层次路由将Internet划分为自治系统(AS),AS内用域内路由协议,AS间用域间路由协议。
IPv4地址16
IPv4地址32位,分为网络号和主机号,有A/B/C/D/E五类,私有地址不在Internet上路由。
IPv61
IPv6地址128位,简化了头部,取消校验和和分片字段,支持即插即用。
地址解析协议2
ARP将IP地址解析为MAC地址,通过广播请求单播应答,ARP缓存加速后续查询。
网际控制报文协议2
ICMP用于报告网络错误和提供诊断信息,ping用回送请求/应答,traceroute用TTL超时。
网络地址转换1
NAT将私有IP地址转换为公有IP地址,NAPT还转换端口号,解决IPv4地址不足问题。
虚拟专用网0
VPN利用公共网络建立加密隧道实现安全的私有通信,常用IPsec协议保护数据。
SDN基本概念0
SDN将网络控制平面与数据平面分离,由集中式控制器统一管理网络转发策略。
网络层拥塞控制0
网络层拥塞控制防止网络过载,分为开环(预防)和闭环(检测+恢复)两种策略。
子网划分与CIDR0
子网划分借用主机位作为子网号,CIDR取消分类用前缀长度表示网络,支持路由聚合。
路由协议RIP0
RIP使用距离向量算法,以跳数为度量(最大15),每30秒交换路由表,适合小型网络。
路由协议OSPF0
OSPF使用链路状态算法和Dijkstra,支持区域划分和多种度量,收敛快适合大型网络。
路由协议BGP0
BGP是域间路由协议,基于路径向量算法,使用TCP连接,考虑策略而非最短路径。
IP组播0
IP组播使用D类地址(224.0.0.0-239.255.255.255),IGMP管理组成员,组播路由实现高效分发。
移动IP0
移动IP允许移动节点在切换网络时保持IP地址不变,通过家乡代理和外地代理实现。
网络层设备与路由器0
路由器由输入端口、交换结构、输出端口和路由处理器组成,用最长前缀匹配转发分组。

计算机网络传输层

13 个知识点
UDP2
UDP是无连接不可靠的传输协议,头部仅8字节,适合实时应用如DNS、视频流。
拥塞控制1
拥塞控制防止过多数据注入网络导致性能下降,TCP通过慢开始、拥塞避免等机制实现。
传输层功能1
传输层提供端到端的逻辑通信,通过端口号实现进程间的复用和分用。
UDP协议1
UDP数据报由8字节头部和数据组成,头部包含源端口、目的端口、长度和校验和。
TCP协议特点1
面向连接的可靠传输,三次握手四次挥手,序号 32 位,有拥塞控制和流量控制。
TCP报文段4
TCP报文段头部最小20字节,包含序号、确认号、窗口大小、标志位等关键字段。
TCP连接管理6
TCP三次握手建立连接(SYN→SYN+ACK→ACK),四次挥手释放连接(FIN→ACK→FIN→ACK)。
TCP可靠传输4
TCP通过序号、确认、超时重传和快速重传机制实现可靠传输,保证数据无差错有序不丢失。
TCP流量控制2
TCP流量控制通过滑动窗口机制实现,接收方通过rwnd字段告知发送方可接收的数据量。
TCP拥塞控制8
TCP拥塞控制经历慢开始(指数增)→拥塞避免(线性增)→快重传→快恢复四个阶段。
传输层寻址与端口0
端口号16位(0-65535),分为知名端口(0-1023)、注册端口(1024-49151)和动态端口(49152-65535)。
无连接服务与面向连接服务0
无连接服务(UDP)不需要建立连接直接发送,面向连接服务(TCP)需要三次握手建立连接。
UDP校验0
UDP校验和通过伪首部+UDP头部+数据计算反码求和,IPv4中可选,IPv6中必须。