算法 | 最好 | 平均 | 最坏 | 空间 | 稳定 |
---|---|---|---|---|---|
直接插入 | O ( n ) O(n) O(n) | O ( n 2 ) O(n^2) O(n2) | O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 是 |
冒泡 | O ( n ) O(n) O(n) | O ( n 2 ) O(n^2) O(n2) | O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 是 |
简单选择 | O ( n 2 ) O(n^2) O(n2) | O ( n 2 ) O(n^2) O(n2) | O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 否 |
希尔 | O ( n ) O(n) O(n) | O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( n 2 ) O(n^2) O(n2) | O ( 1 ) O(1) O(1) | 否 |
快排 | O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( n 2 ) O(n^2) O(n2) | O ( l o g 2 n ) O(log_2n) O(log2n) | 否 |
堆排 | O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( 1 ) O(1) O(1) | 否 |
2路归并 | O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( n l o g 2 n ) O(nlog_2n) O(nlog2n) | O ( n ) O(n) O(n) | 是 |
基数排序 | O ( d ( n + r ) ) O(d(n + r)) O(d(n+r)) | O ( d ( n + r ) ) O(d(n + r)) O(d(n+r)) | O ( d ( n + r ) ) O(d(n + r)) O(d(n+r)) | O ( r ) O(r) O(r) | 是 |
n较小: 直插,简选
n较大: 快排,堆排,归并
n超大: 外部归并
基本有序: 直插,冒泡
稳定: 基,归,插,冒
关键字可分解: 基排
比较次数与初态无关: 归,选,基
排序趟数与初态无关: 插,归,选,基
时间复杂度与初态无关: 堆,归,选,基
每一趟能确定一个最终位置: 泡,快,选,堆
Prim | Kruskal |
---|---|
O ( V 2 ) O(V^2) O(V2) | O ( l o g E ) O(logE) O(logE) |
边稠密 | 边稀疏,顶点多 |
BFS | Dijkstra | Floyd |
---|---|---|
O ( V 2 ) / O ( V + E ) O(V^2) / O(V + E) O(V2)/O(V+E) | O ( V 2 ) O(V^2) O(V2) | O ( V 3 ) O(V^3) O(V3) |
单源 + 无权 | 单源 + 有权 +无权 | 多源 + 有权 + 无权 |
/ | 不适用负权 | 适用负权,不适用负回路 |
邻接矩阵 | 邻接表 | 十字链表 | 邻接多重表 | |
---|---|---|---|---|
适合 | 稠密图 | 稀疏图 | 有向图 | 无向图 |
空间 | O ( V 2 ) O(V^2) O(V2) | 无向: O ( V + 2 E ) O(V + 2E) O(V+2E) 有向: O ( V + E ) O(V + E) O(V+E) | O ( V + E ) O(V + E) O(V+E) | O ( V + E ) O(V + E) O(V+E) |
表达 | 唯一 | 不唯一 | 不唯一 | 不唯一 |
双亲表示 | 孩子表示 | 孩子兄弟表示 |
---|---|---|
顺序存储 | 顺序 + 链式 | 二叉链表(左孩,右兄) |
找爸方便,找孩不便 | 找爸不便,找子方便 | 找爸不便,找子方便,方便转二叉树 |
开放定址法
拉链法
(线性)
(树形)
(散列)
适合静态查找: 顺序,折半,哈希
适合动态: 二叉排序,哈希
度为2则树中度最大为2,二叉树可以为空树。
快慢双指针
头指针:是指向第一个节点存储位置的指针,具有标识作用,头指针是链表的必要元素,无论链表是否为空,头指针都存在。
头结点:是放在第一个元素节点之前,便于在第一个元素节点之前进行插入和删除的操作,头结点不是链表的必须元素,可有可无,头结点的数据域也可以不存储任何信息。
中序 + 先序 / 中序 / 层序
高汇操传微
主存-缓存:用来缓解 速度 压力,完全由硬件实现,缓存是主存的副本
主存-辅存:用来缓解 容量 压力,有操作系统和硬件配合实现,主存是缓存的副本
主存:运行时数据
辅存:暂时不用,永久保存
RAM(随机存储器):随机存取,存取时间与物理位置无关
ROM(只读存储器):断电内容保存
类型 | SRAM(静态) | DRAM(动态) |
---|---|---|
存储(核心区别) | 触发器 | 电容 |
破坏性读出 | 否 | 是 |
读出需重写 | 否 | 是 |
速度 | 快 | 慢 |
集成度 | 低 | 高 |
成本 | 高 | 低 |
断电后 | 丢失 | 丢失 |
需要刷新 | 否 | 是(分散,集中,异步) |
送行列地址 | 同时送 | 分开送(地址复用) |
方式 | 全相联映射 | 直接映射 | 组相联映射 |
---|---|---|---|
原理 | 主存块可以在Cache的任意位置 | 每个主存块有一个特定位置 | Cache块分为若干组,每个组成块分到特定组的任一位置 |
命中率 | 最高 | 最低 | —— |
判断开销 | 最大 | 最小 | —— |
空间开销 | 最大 | 最小 | —— |
类别 | CISC | RISC |
---|---|---|
指令系统 | 复杂、庞大 | 简单、精简 |
指令数目 | 多 | 少 |
指令字长 | 不固定 | 固定 |
访存 | 无限制 | 仅限 Load / Store |
指令时间 | 相差较大 | 类似 |
指令频率 | 相差较大 | 均常用 |
通用寄存器 | 少 | 多 |
控制方式 | 多数为微程序控制 | 多数为组合逻辑控制 |
流水线 | 可以实现 | 必须实现 |
寻址方式 | 特点 | 有效地址 |
---|---|---|
隐含寻址 | 最短(简) | 程序指定 |
立即寻址 | 最快 | A |
直接寻址 | 最长 | EA = A |
间接寻址 | 最慢 | EA = (A) |
寄存器寻址 | 最短 | EA =(R) |
相对寻址 | 转移指令 | EA =(PC)+ A |
基址寻址 | 多道程序 浮动程序 | EA =(BR)+ A |
变址寻址 | 循环程序 数组问题 | EA =(IX)+ A |
3种,数据总线和控制总线是双向的,地址总线是单向是只能CPU到I/O口。
重定位寄存器
根据不同指令阶段
MAR:地址寄存器
MDR:指令寄存器
存储器容量 = 2 寄存器位数 ∗ 地址寄存器位数 存储器容量 = 2^{寄存器位数}*地址寄存器位数 存储器容量=2寄存器位数∗地址寄存器位数
中断需要保护现场和恢复现场;DMA方式除了预处理和后处理,不使用cpu资源;
中断请求只能在执行周期后接收到;DMA可以是任何一个机器周期结束后。
中断过程需要cpu干预,DMA传送过程不需要cpu干预;
DMA 优先级更高,速度更快。
中断靠程序,DMA靠硬件。
进程管理
内存管理
文件管理
设备管理
内核程序 & 应用程序
特权指令 & 非特权指令
内核态(核心态,管态):运行的是内核程序,可以执行特权指令,也可以执行非特权指令
用户态(目态):运行的是应用程序,只能执行非特权指令
用户态 --》内核态:系统调用、中断、异常
内核态 --》用户态:修改程序状态字PSW
OS 与应用程序(程序员)之间的接口,它是用户程序取得 OS 内核服务的唯一途径。
系统调用 VS 库函数:库函数是 编程语言提供 给程序员的接口,系统调用是 操作系统提供 的接口。
什么功能需要系统调用:凡是与共享资源或者影响其他进程的操作都需要操作系统介入,需要系统调用。
系统调用指令 = 广义指令:在用户态下调用,在核心态执行
陷入指令 = trap指令 = 访管指令:在用户态下执行
进程 是资源分配的最小单位,线程 是 程序执行(处理机),调度分配的最小单位。
一个线程只能属于一个进程,而 一个进程可以有多个线程,但至少有一个线程。
先来先服务 (利于CPU繁忙型,不利于I/O繁忙。)
短作业优先 (最短平均周转时间,不一定能真正做到短作业优先,且会饥饿。)
高相应比优先 (上两种折中)
(下面三种更适合交互)
时间片轮转
优先权调度
多级反馈队列
(详见 ipad 笔记)
保持处理机上下文 -> 更新 PCB -> 把 PCB 移入相应队列(就绪、阻塞) ->选择另一个进程并更新其 PCB -> 更新内存管理的数据结构 -> 恢复处理机上下文
(低级方式)PV 信号量
(高级方式:高效大量)共享:速度快(使用同步互斥工具操作共享空间)
消息:传递结构化的消息,直接通信或者信箱通信
管道:特殊共享文件,一个半双工,两个全双工
组成: 共享数据结构 + 初始化语句 + 访问数据结构的过程(函数)。
目的: 解决信号量机制编程麻烦、易出错的问题。(封装思想)
特征: 外部进程只能通过管程提供的特定入口访问共享数据;每次仅允许一个进程执行内部过程。
(注意区分 死锁、饥饿、死循环)
根本原因是 独占资源分配不当,不是资源不足。
互不寻求
区分不剥夺和请求保持:不剥夺是拿着苹果不吃也不能被拿走,请求保持是左手有一个,右手还可以再拿一个。
破坏死锁必要条件
连续分配管理:一道作业被分配在一片连续的内存空间(分区)中
非连续分配管理:以页或者段为分配单位,一道作业可能被划分为多个页或段装入内存,因此不连续
基本分页存储管理
基本分段存储管理
基本段页存储管理:先分段再分页
虚拟存储 性能 主要受 ” 缺页率 “ 影响(高会抖动),缺页率受 页面大小、分配物理块数、页面置换算法 等影响
文件控制块FCB
FCB中包括文件名,类型,文件存放的物理位置等等信息
FCB 是为了实现按名存取而存在的
inode结点(FCB改进)
目录项为文件名+所以节点的指针
由于查找的过程中只需要用到文件名这个信息,所以将除了文件名之外的文件信息放在索引结点中。
使得目录项较小,每个磁盘可以存更多的目录项,大大提高了文件索引速度。
一次磁盘读写时间 = 寻道时间(找磁道)+ 旋转延迟时间(找扇区)+ 传输时间(传输数据)
外中断:指令无关,来自 CPU 外部,如 I/O 中断、定时器中断、外部信号中断等。狭义上也叫中断;
异常:指令相关,来自 CPU 内部,也称陷入。如校验错、页面失效、溢出、除数为零 等。
中断是由外设产生,无意的, 被动的
系统调用是由应用程序请求操作系统提供服务产生, 有意的,主动的。要从用户态通过中断进入内核态。
【物联网淑慧试用】
**电路交换:**两节点之间有一条专用的物理通路
(下两种为 存储转发式)
**报文交换:**存储转发报文,报文长度 大小没有限制
分组交换:将报文分为若干分组
数据报 | 虚电路 | |
---|---|---|
链接 | 不需要 | 必要 |
目的地址 | 每个分组都有 | 建立阶段有,后用虚电路号 |
路由选择 | 各分组独立选择 | 各分组一样 |
有序到达 | 不保证 | 保证 |
可靠 | 不保证 | 保证 |
故障适应 | 不影响全局 | 影响全局 |
解决广播信道上两对结点之间的通信不受干扰的问题
静态划分信道
动态划分信道
信息传递时需要知道:终点地址和下一跳地址。
ip地址本质上是终点地址,过路由器的时候不会改变;
MAC地址是下一跳地址,每跳过一次路由器都会改变一次;
网桥和交换机(交换机是多接口的网桥)
功能:查看mac帧中的目的mac地址,确定转发的接口
具有自学习的能力,能够自己建立并更新转发表
URBT 你是变态
RIP
OSPF
根据 IP 地址,求得 MAC 地址
功能是检错而不是纠错;
它将出错的报文返回给发送方的设备,发送方根据 ICMP 报文确定错误类型,从而更好的重发错误的数据包。
为了更有效地转发ip数据报和提高交付成功的机会
TCP | UDP |
---|---|
有连接 | 无连接 |
可靠 | 不可靠 |
面向字节 | 面向报文 |
首部开销大(20B) | 首部开销小(8B) |
分用复用,差流拥,可靠传输 | 分用复用,差 |
用于可靠性要求高的场景 | 用于及时性要求高的场景 |
建立连接,三次握手
断开连接,四次挥手
(发送窗口=min(拥塞窗口,接收窗口)
塞控和流控均能改变发送窗口大小,控制发送速度
拥塞控制 | 流量控制 | |
---|---|---|
目的 | 防止过载 | 控制速度 |
范围 | 整个网络 | 当前连接 |
任务 | 根据算法告知拥塞窗口大小 | 及时告知发送(接收)窗口大小 |
TCP 建立连接和网络出现超时时,采用 慢开始 和 拥塞避免;当收到冗余 ACK,采用快重传和快恢复。
**作用:**域名 转 IP地址
**原理:**ip地址与域名的对应关系会存储在某一个“权限域名服务器”上,DNS的解析过程就是查找这个权限域名服务器,并且从该服务器上获取域名对应的ip地址的过程。
查询方式:
查询过程:
**特点:**基于TCP:HTTP本身是没有连接的,但是TCP是有连接的
**作用:**允许客户指明文件的类型和格式,提供不同主机系统之间的文件传输能力(上传和下载)
**连接:**控制连接 + 数据连接
端口:
默认情况,服务器端使用控制连接21,数据连接20,客户端使用的都是临时端口
特点:
过程:
主机 广播 DHCP发现报文:请问有没有DHCP服务器呀?
所有的DHCP服务器 广播 提供报文:有的,我在
主机 广播 DHCP请求报文:请给我一个ip地址吧~
DHCP 广播 DHCP确认报文:好的
能否隔离冲突域 | 能否隔离广播域 | |
---|---|---|
中继器、集线器 | 否 | 否 |
网桥、交换机 | 是 | 否 |
路由器 | 是 | 是 |
本文发布于:2024-01-31 00:42:37,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170663295824029.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |