目录
数据结构
3 栈,队列,数组
3.3 栈和队列的应用
3.3.2 栈在表达式求值的应用
3.3.5 队列在计算机系统中的应用
5 树与二叉树
5.1 树的基本概念
5.2 二叉树的概念
5.3 二叉树的遍历和线索二叉树
5.4 树,森林
双亲表示法,孩子表示法,孩子兄弟表示法,
5.5 树与二叉树的运用
5.5.1 哈夫曼树与哈夫曼编码
5.5.2 并查集
5.5.3 错题
6 图
6.3 图的遍历
6.3.1 广度优先搜索(Breadth-First-Search BFS)
6.3.2 深度优先搜索(Depth-First-Search DFS)
6.3.3 图的遍历与连通性
6.3.4 例题
6.4 图的应用
6.4.1 最小生成树【prim普里姆】【Kruskal 克鲁斯卡尔】
6.4.2 最短路径 【Dijkstra迪杰斯特拉】【Floyd弗洛伊德】
6.4.4 拓扑排序
6.4.5 关键路径
7 查找
7.1 查找的基本概念
7.2 顺序查找和折半查找
7.2.1 顺序查找
7.2.2 折半查找(二分查找)
7.2.3 分块查找(索引顺序查找)
7.2.4 习题
7.3 树型查找
7.3.1 二叉排序树
7.3.2 平衡二叉树(AVL)
7.3.4 红黑树
7.4 B树和B+树
7.4.1 B树及其基本操作
7.4.2 B+ 树的基本概念
7.5 散列表
7.5.1散列表的基本概念
7.5.2 散列函数构造方法
7.5.3 处理冲突的方法
7.5.4 散列查找性能分析
8 排序
8.1 排序的基本概念
8.2 插入排序 [适用于基本有序的顺序表和数据量不大的排序表]
8.2.1 直接插入排序
8.2.2 折半插入排序
8.2.3 希尔排序(缩小增量排序)
8.3 交换排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 选择排序
8.4.1 简单选择排序
8.4.2 堆排序 [堆排序适合关键字较多的情况]
8.5 归并排序和基数排序
8.5.1 归并排序
8.5.2 基数排序
8.6 内部排序算法
8.7 外部排序
8.7.2 外部排序的方法
8.7.3 多路平衡归并与败者树
8.7.4 置换选择排序 (生成初始归并段)
8.7.5 最佳归并树
计算机组成原理
2 数据的表示和运算
2.3 浮点数的表示和运算
2.3.1 浮点数的表示
4 指令系统
4.1 指令格式
4.4.1 指令的基本格式编辑
4.1.2 定长操作码指令格式
4.1.3 扩展操作码指令格式
4.1.1 指令操作类型
4.2 指令的寻址方式
4.2.1 指令寻址和数据寻址
4.2.2 常见的数据寻址方式
4.2.4 习题
4.3 程序的机器级代码表示
4.3.1 常用汇编指令介绍
4.4 CISC和RISC的基本概念
4.4.1 复杂指令系统计算机(CISC)
4.4.2 精简指令系统计算机(RISC)
4.4.3 CISC和RISC的比较
5 中央处理器
5.5 异常和中断机制
5.5.1 异常和中断的基本概念
5.5.2 异常和中断的分类
操作系统
2 进程与线程
2.4 死锁
2.4.1 死锁的概念
2.4.2 死锁预防
2.4.3 死锁避免
2.4.4 死锁检测和解除
2.4.6 习题
计算机网络
3 数据链路层
3.1 数据链路层概述
3.2 数据链路层3个重要问题
3.2.1 封装成帧和透明传输
3.2.2 差错检测
3.2.3 (1)可靠传输的相关基本概念
3.2.3 (2)可靠传输的实现机制 - 停止-等待协议(stop-and-wait SW)
3.2.3 (3)可靠传输的实现机制 - 回退N帧协议(GO-back-N,GBN)
3.2.3 (4)可靠传输的实现机制 - 选择重传协议 Selective Repeat, SR)
3.3 点对点协议PPP
3.4 以太网
3.4.1 网络适配器和MAC地址
3.4.2 (1)CSMA/CD协议的基本原理
3.4.2 (2)共享式以太网的争用期、最小帧长,最大帧长
3.4.2 (3)共享式以太网的退避算法和信道利用率
3.4.3 使用集线器的共享式以太网
3.4.4 在物理层扩展以太网
3.4.5 在数据链路层扩展以太网(1)—— 网桥的主要结构和基本工作原理
3.4.5 在数据链路层扩展以太网(2)—— 透明网
网络层重要协议(ARP,DHCP,ICMP,IGMP)
地址解析协议 ARP 广播出去,单播回来
数据结构
注意:度为2的树至少有3个结点,二叉树可以为空;度为2 的有序树,孩子的左右次序是无需区分的,二叉树的左右孩子次序是确定的。
满二叉树
完全二叉树
二叉排序树
平衡二叉树
二叉树的存储结构
https://blog.csdn.net/JiangNan_1002/article/details/127025611?spm=1001.2014.3001.5502https://blog.csdn.net/JiangNan_1002/article/details/127025611?spm=1001.2014.3001.5502
二叉树的遍历
遍历构造二叉树
线索二叉树
2010.3
2020.42
解析:
(1)使用一颗二叉树保存字符集中各字符的编码,每个编码对应于从根开始到达某叶结点的一条路径,路径长度等于编码位数,路径到达的叶结点中保存该编码对应的字符。
(2)从左至右依次扫描0/1串中的各位。从根开始,根据串中当前位沿当前结点的左子指针或右子指针下移,直到移动到叶结点为止。输出叶结点保存的字符。然后从根开始重复这个过程,直到扫描到0/1串结束,译码结束。
(3)二叉树既可以用于保存各字符的编码,又可用于检测编码是否具有前缀特性。判定编码是否具有前缀特性的过程,也是构建二叉树的过程。初始时,二叉树仅含有根结点,其左子树与右子树均为空。依次读入每个编码C,从左至右扫描C的各位,根据C的当前位(0或1)沿结点的指针(左子指针或右子指针)向下移动,当遇到空指针时,创建新的结点,让空指针指向该新结点并继续移动,沿指针移动的过程中。可能遇到三种情况。
错题 p146
408数据结构学习强化——常见数据结构定义和算法总结_江南江南江南丶的博客-CSDN博客
PS:对于同样的图,基于邻接矩阵的遍历所得到的DFS序列和BFS序列是一样的,所以生成树唯一,基于邻接表的遍历所得到的DFS序列和BFS序列是不唯一的,所以生成树不唯一
int Binary_Search(SeqList L,ElemType key){
int low,high=L.Tablelen-1,mid;
while(low<=high){
mid=(low+high)/2;
if(key)==mid
cout<
- 折半查找判定树:
7.2.3 分块查找(索引顺序查找)
7.2.4 习题
PS:在算有关于折半查找ASL平均查找长度的问题时,可以先画出查找判定树
解析:查找第一个元素比较 1 次,查找第二个元素比较 2 次,查找三个元素比较 3 次
7.3 树型查找
红黑树<——二叉排序树——>平衡二叉树
7.3.1 二叉排序树
- 定义:左子树结点值 < 根结点值 < 右子树结点值,所以二叉排序树进行中序遍历
- 二叉排序树查找:从根结点开始,沿某个分支逐层向下比较的过程。
- 二叉树的插入:插入的结点一定是一个新添加的叶结点,且是查找失败时的查找路径上访问的最后一个结点的左孩子和右孩子。
- 二叉树的删除:
- 二叉排序树与二分法:
7.3.2 平衡二叉树(AVL)
- 一定是二叉排序树
- 平衡因子:左子树高度 - 右子树高度 = {0,1,-1}
7.3.4 红黑树
- 性质:①根结点黑色 ②叶结点(虚拟的外部结点、NULL结点、失败结点)都是黑色 ③不红红 ④对每个结点到任一叶结点的简单路径上,所含黑结点数量相同
- 结点数 = 度数+1 n0+n1+n2 = n1+2n2=1 => n0=n2+1
- 红黑树删除操作时间复杂度O(logn),“红黑树”中删除结点的处理方式与“二叉排序树”删除一样,删除破坏特性后要调整
- 一棵红黑树
7.4 B树和B+树
7.4.1 B树及其基本操作
- m叉树特点:①除根结点的所有非叶结点 关键字个数:⌈m/2⌉-1~m-1 子树个数:⌈m/2⌉~m ②根结点至少含有 2 颗子树 ,1 个关键字 ③所有叶结点都在同一层
- B树实例
- B树的高度 与 磁盘存取次数 成正比
- B树的查找:①在B树中找结点 ②在结点内找关键字
- B树的删除 ①直接删除 ②兄弟够借 ③兄弟不够借
7.4.2 B+ 树的基本概念
- B+树是应数据库所需而出现的一种B树的变形树,源于操作系统文件索引,数据索引
- 特点:①结点的子树个数与关键字个数相同,即n个关键字n棵子树 ②相邻叶结点按大小顺序相互链接起来 ③非根内部结点关键字 ⌈m/2⌉~m ④在B+树中,所有非叶结点只起索引作用
- B+树结构示意图
- 总结:
7.5 散列表
7.5.1散列表的基本概念
- 冲突:散列函数可能会把两个或两个以上的不同关键字映射到同一地址,称这种情况为冲突,这些发生碰撞的不同关键词称为同义词
- 散列表:建立了关键字与存储地址的一种直接映射关系
- 理想情况下,对散列表的查找时间复杂度为 O(1)
7.5.2 散列函数构造方法
7.5.3 处理冲突的方法
7.5.4 散列查找性能分析
8 排序
8.1 排序的基本概念
- 排序:就是重新排列表中的元素,使表中的元素满足按关键字有序的过程。
8.2 插入排序 [适用于基本有序的顺序表和数据量不大的排序表]
8.2.1 直接插入排序
- 算法性能分析:①时间复杂度O(n^2) 空间复杂度O(1) ②稳定排序 ③顺序存储,链式存储
- 直接插入排序示例
- 空间复杂度:仅用了常数个辅助单元,O(1)
- 空间复杂度:最好情况(表中元素已经有序,每次一个插入元素,只需比较一次而不用移动元素,O(n))最坏情况(表中元素恰好与排序结果相反,比较次数与移动次数都可达到1+2+3+...+n,O(n^2))
- 稳定:每次插入总是从后向前,所以不会出现相同元素相对位置发生变化的情况,所以是稳定排序
- 适用性:顺序存储,链式存储(可以从前面往后查找进行比较)
8.2.2 折半插入排序
- 算法性能分析:①时间复杂度O(n^2) 空间复杂度O(1) ②稳定排序 ③顺序存储
- 实现方法:在插入过程取每次的中间元素的值(mid),与插入元素(x)比较,如果mid>x,改low=mid+1;反之,mid
high;
- 时间复杂度:折半查找减少了比较元素的次数,约O(nlogn),但元素的移动次数并未发生改变,仍依赖于待排序表的初始状态O(n^2)
- 对数据量不是很大的排序表,折半插入排序往往能表现出很好的性能。
8.2.3 希尔排序(缩小增量排序)
- 算法性能分析:①时间复杂度O(n^2) 空间复杂度O(1) ②顺序存储 ③不稳定排序
- 希尔排序示列:
- 时间复杂度:当n在某个特定范围时,希尔排序时间复杂度约为O(n^1.3)。在最坏情况下希尔的时间复杂度仍为O(n^2),即直接排序。
8.3 交换排序
8.3.1 冒泡排序
- 算法性能分析:①时间复杂度O(n^2) 空间复杂度O(1) ②稳定排序 ③顺序存储 链式存储
- 实现方法:每趟冒泡的结果就是把序列中最小的元素(或最大的元素)放到序列的最终位置...这样最多n-1趟冒泡就能把所有元素排序好
- 时间复杂度:①初始序列有序时,比较次数 n-1,移动次数 0,最好情况下O(n) ②初始序列为逆序时,需要进行 n-1 趟排序,第 i 趟要进行 n-i 次,关键字比较,而且每次比较前后都必须移动元素 3 次来交换元素位置
8.3.2 快速排序
- 算法性能分析:①时间复杂度O(nlogn) 空间复杂度O(logn) ②不稳定排序 ③顺序存储
- 实现过程及代码:
- 空间复杂度:工作栈,最好情况下O(logn),最坏情况下O(n),平均情况下O(logn)
- 时间复杂度:初始基本有序或基本逆序时,最坏时间复杂度O(n^2)。在理想状态下,得到的子区间大小都不可能大于n/2,时间复杂度O(nlogn)。
- 在快速排序算法中,并不产生有序子序列,但每趟排序后会将枢轴(基准)元素放到最终位置上。对所有未确定最终位置的所有元素进行一遍处理称为 “一趟排序” ,因此 “一次划分” 不等于 “一趟排序” ,“一次划分” 可以确定一个元素的最终位置, 而一趟排序也许可以确定多个元素的最终位置。即 “一趟排序” 可由多个已划分的区域组成。
- 题目:运用快排思想
8.4 选择排序
8.4.1 简单选择排序
- 算法性能分析:①时间复杂度O(n^2) 空间复杂度O(1) ②不稳定排序 ③顺序存储 链式存储
- 算法思想:第1趟,选择最小的元素放在第一个位置...第i 趟,选择最小的元素放在第 i 个位置...直到 n-1 趟做完
8.4.2 堆排序 [堆排序适合关键字较多的情况]
- 算法性能分析:①时间复杂度O(nlogn) 空间复杂度O(1) ②不稳定排序 ③顺序存储
- ①初始建堆:从序列的第一个末尾向前调整 ②插入元素:在最后插入元素,再向前调整 ③删除根后:堆的最后一个元素补根,然后在从上向下不断调整
- 时间复杂度:建堆时间O(n),每次调整的时间复杂度O(h),所以时间复杂度O(nlogn)
8.5 归并排序和基数排序
8.5.1 归并排序
8.5.2 基数排序
- 算法性能分析:①时间复杂度O(d(n+r)) 空间复杂度O(r) ②稳定排序
- 排序方法:①最高位优先法MSD ②最低位优先法LSD
- 基数排序示例:
- 时间复杂度:基数排序需要 d 趟分配和收集,一趟分配需要O(n),一趟收集需要O(r) r是一趟排序所需要的存储空间( r 个队列:r 个队头指针和 r 个队尾指针) 所以基数排序的时间复杂度为O(d(n+r))
- 若n很大,记录的关键字位数较少且可以分解时,采用基数排序比较好
8.6 内部排序算法
当记录本身信息量较大时,为避免耗费大量时间移动,可用链表作为存储结构(直接插入排序,冒泡排序,简单选择排序)
8.7 外部排序
外部排序指排序文件较大,内存一次放不下,需要存放在外存的文件排序
8.7.2 外部排序的方法
- 外部排序通常采用归并排序法
- 增大归并路数,可减少归并趟数,进而减少总的磁盘I/O次数输入/输出缓冲区的作用:暂时输入/输出记录,内部归并工作区,产生初始归并段的工作区
- 一般的,对于 r 个初始归并段,做k路平衡归并,归并树可用严格 k 叉树(即只有度为k,度为0的结点的二叉树) 树的高度-1= ⌈log(k)r⌉ = 归并趟数
8.7.3 多路平衡归并与败者树
8.7.4 置换选择排序 (生成初始归并段)
8.7.5 最佳归并树
文件经过置换-选择排序之后,得到的是长度不等的初始归并段
计算机组成原理
2 数据的表示和运算
2.3 浮点数的表示和运算
2.3.1 浮点数的表示
4 指令系统
指令系统是计算机的主要属性,位于硬件和软件的交界面上。
4.1 指令格式
4.4.1 指令的基本格式
4.1.2 定长操作码指令格式
- 定长操作码指令:在指令字的最高位部分分配固定的若干位(定长)表示操作码。
- 优点:简化计算机硬件设计,对提高指令译码和识别速度很有利。
- 缺点:指令数量的增多会占更多的固定位,留给表示操作数的地址位数受限。
4.1.3 扩展操作码指令格式
通常情况下,对使用频率较高的指令分配较短的操作码,对于使用频率较低的指令分配较长的操作码,从而尽可能减少指令译码和分析的时间。
4.1.1 指令操作类型
- 数据传送:寄存器直接的传送(MOV),从内存单元读取数据到CPU寄存器(LOAD),从CPU寄存器写数据到内存单元(STORE)等
- 算术和逻辑运算:加(add),减(sub),乘(nul),除(div),比较(cmp),加一(inc),减一(dec),与(and),或(or),取反(not),异或(xor);
- 移位操作:算法移位,逻辑移位,循环移位等
- 转移操作
- 输入输出操作:这类指令用于完成CPU与外部设备交换数据或传送控制命令及状态信息。
4.2 指令的寻址方式
4.2.1 指令寻址和数据寻址
指令寻址
- 顺序寻址:程序计数器(PC)+1(一个指令字长),自动形成下一条地址
- 跳跃寻址:通过转移类指令实现,所谓跳跃,是指下条指令的地址不由程序计数器PC自动给出,而由本条指令给出下条指令地址的计算方式。①绝对寻址②相对寻址
4.2.2 常见的数据寻址方式
4.2.4 习题
4.3 程序的机器级代码表示
4.3.1 常用汇编指令介绍
4.4 CISC和RISC的基本概念
- 复杂指令系统计算机(CISC):典型采用X86架构,主要用于笔记本,台式机等一条指令完成一个复杂的基本功能
- 精简指令系统计算机(RISC):典型的有ARM,MIPS架构的计算机一条指令完成一个基本“动作”,多条指令组合完成一个复杂的基本功能
4.4.1 复杂指令系统计算机(CISC)
(8) 80-20规律
4.4.2 精简指令系统计算机(RISC)
4.4.3 CISC和RISC的比较
5 中央处理器
5.5 异常和中断机制
现代计算机中都配有完善的异常和中断处理系统,CPU的数据通路中有相应的异常检测和响应逻辑,外设接口中有相应的中断请求和控制逻辑,操作系统中有相应的中断服务程序。这些中断硬件线路和中断服务程序的有机结合,共同完成异常和中断的处理过程。
5.5.1 异常和中断的基本概念
- 异常:是CPU执行一条指令时,由CPU在其内部检测到的,与正在执行的指令相关的同步事件。
- 中断:是一种典型的由外部设备触发的,与当前正在执行的指令无关的异步事件。
5.5.2 异常和中断的分类
异常的分类
异常是由CPU内部产生的意外事件,分为硬件故障中断和程序性异常。硬件故障中断是由硬连线出现异常引起的,如存储器校验错、总线错误等。程序性异常也称软件中断,是指在CPU内部因执行指令而引起的异常事件,如整除0、溢出、断点、单步跟踪、非法指令、栈溢出、地址越界、缺页等。按异常发生的原因和返回方式的不同,可分为故障(Fault),自陷(Trap)、终止(Abort)
中断的分类
中断来自CPU外部,与CPU执行的指令无关的时间引起的中断。包括I/O设备发出的I/O中断(如键盘输入,打印机缺纸等),或发生某种特殊事件(如用户按下Esc键、定时器计数时间到等)。外部I/O设备通过特定的中断请求信号线向CPU发出中断请求,CPU每执行完一条指令就检查中断请求信号线,如果检测到中断请求,则进入中断响应周期。中断可分为可屏蔽中断和不可屏蔽中断。
操作系统
2 进程与线程
2.4 死锁
定义:指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程将无法向前推进。
2.4.1 死锁的概念
- 死锁:至少是两个进程一起死锁,死锁进程处于阻塞态
- 饥饿:可以只有一个进程饥饿,饥饿进程可能阻塞,可能就绪
- 死循环:可能只有一个进程发生死循环,死循环进程可以上处理机(程序员调用时)
死锁产生的原因:
- 系统资源竞争,通常系统中拥有的不可剥夺资源,其数量不足以满足多个进程运行的需要,使得进程在运行过程中,会因为争夺资源而陷入僵局,如磁带机,打印机等;而对可剥夺资源的竞争不会产生死锁,如内存,扬声器等。
- 进程推进顺序非法
- 信号量使用顺序不当
死锁产生的必要条件:产生死锁必须同时满足以下四个条件,只要其中一个条件不成立,死锁就不会发生。
- 互斥条件:即在一段时间内某资源仅为一个进程所占有,此时若有其他进程请求该资源,则请求进程只能等待。
- 不剥夺条件:进程所获得是资源在未使用完之前,不能被其它进程前行夺走,即只能由获得该资源的进程自己来释放(只能是主动释放)。
- 请求并保持条件:进程已经保持了至少一个资源,但又提出新的资源请求,而该资源已被其它进程所占有,此时请求进程被阻塞,但对自己已获得的资源保持不变。
- 循环等待条件:存在一种进程资源的循环等待链发生死锁一定循环等待,但循环等待未必死锁
2.4.2 死锁预防
需破坏死锁产生的4个必要条件之一
- 破坏互斥条件:操作系统可以采用“SPOOLing技术”把独占设备在逻辑上改造成共享设备,但很多时候都无法破坏互斥条件。且在有的场合应该保持这种互斥性,如打印机等临界资源只能互斥使用。
- 破坏不剥夺条件:当一个已保持了某些不可剥夺资源的进程,请求的新的资源而得不到满足时,它必须释放已经保持的所有资源,待以后需要时再重新申请(可以由操作系统协助,将想要资源强行剥夺,这种方式一般需要考虑各进程的优先级)缺点:①这种策略实现起来比较复杂②释放已获得的资源可能造成前一阶段工作的失效③反复地申请和释放资源会增加系统开销,降低系统吞吐量 适用于:状态易于保持和恢复的资源,如CPU的寄存器及内存资源,一般不能用于打印机之内的资源 如果一直这样,就会导致饥饿
- 破坏请求并保持条件:采用预先分配方法,即进程在运行前一次申请完它所需要的全部资源,在它资源未满足前,不把它投入运行。一旦投入运行,这些资源就一直归它所有,不再提出其它资源请求。缺点:系统资源被严重浪费,有些资源仅在运行初期或者快要结束时才使用 还会导致饥饿
- 破坏循环等待条件:可采用顺序资源分配法,首先给系统中的资源编号,规定每个进程按照编号递增的顺序请求资源,同类资源(即编号相同的资源)一次性申请完缺点:①编号必须相对稳定,这就限制了新类型设备的增加②尽管在为资源编号时已考虑大多数作业实际使用这些资源的顺序,但也经常会发生作业使用资源的顺序与系统规定的顺序不同,造成资源的浪费。③按规定次序申请资源的方法,也必然会给用户编程带来麻烦
2.4.3 死锁避免
在资源动态分配过程中,防止系统进入不安去状态,以避免发生死锁。这种方法所施加的限制条件较弱,可以获得较好的系统性能。
- 系统安全状态:避免死锁的方法中,允许进程动态的申请资源,但系统在进行资源分配之前应先计算此次分配的安全性。若此次分配不会导致系统进入不安全的状态,则允许分配;否则让进程等待。 系统处于不安全状态,未必死锁;但死锁一定处于不安全状态;系统处于安全状态一定不会发生死锁。
- 银行家算法
2.4.4 死锁检测和解除
若系统为进程分配资源时不采取任何措施,则应该提供死锁检测和解除手段
- 资源分配图
- 死锁定理:简化资源分配图可检测系统状态S是否为死锁状态
- 死锁解除如何决定对谁动手?①进程优先级(低)②已执行多长时间(短)③还要多久完成(长)④进程已经使用了多少资源(多)⑤进程是交互式还是批处理式的(批处理式)
2.4.6 习题
【例题】关于优先权大小的论述中,正确的是(D)。
A、计算型作业的优先权,应高于IO型作业的优先权
B、用户进程的优先权,应高于系统进程的优先权
C、在动态优先权中,随着作业等待时间的增加,其优先权将随之下降
D、在动态优先权中,随着进程执行时间的增加,其优先权降低
解析:优先让I/O繁忙型作业优先运行的话,可以使I/O设备尽早投入工作。从而使资源利用率,系统吞吐量得到提升。系统进程(如接收进程、对换进程、磁盘 I/O 进程)的优先权高于一般用户进程的优先权。对资源需求少的进程应赋予较高的优先权。解析:
要点
- 每种资源只有一个,并出现环路必定导致死锁
- 解除死锁通常不采用的方法是从非死锁进程处抢夺资源
- 只有当进程提出资源申请且全部进程都进入阻塞态时,系统才处于死锁状态
- 对死锁有4种方法:忽略、检测与恢复、避免和预防,每种方法对死锁的处理从宽到严,同时系统并发性由大到小
计算机网络
3 数据链路层
3.1 数据链路层概述
3.2 数据链路层3个重要问题
3.2.1 封装成帧和透明传输
3.2.2 差错检测
3.2.3 (1)可靠传输的相关基本概念
3.2.3 (2)可靠传输的实现机制 - 停止-等待协议(stop-and-wait SW)
3.2.3 (3)可靠传输的实现机制 - 回退N帧协议(GO-back-N,GBN)
3.2.3 (4)可靠传输的实现机制 - 选择重传协议 Selective Repeat, SR)
3.3 点对点协议PPP
3.4 以太网
3.4.1 网络适配器和MAC地址
3.4.2 (1)CSMA/CD协议的基本原理
3.4.2 (2)共享式以太网的争用期、最小帧长,最大帧长
3.4.2 (3)共享式以太网的退避算法和信道利用率
3.4.3 使用集线器的共享式以太网
3.4.4 在物理层扩展以太网
3.4.5 在数据链路层扩展以太网(1)—— 网桥的主要结构和基本工作原理
3.4.5 在数据链路层扩展以太网(2)—— 透明网
4 网络层
4.6 虚拟专用网VPN和网络地址转换NAT
- DNS,域名(www. ....)-> IP地址
- ARP,IP地址 -> MAC地址
网络层重要协议(ARP,DHCP,ICMP,IGMP)
- MAC地址是网卡决定的,如果不更换网卡,则是固定的。当然,也可通过专用工具进行修改。
- 每个电脑的ip地址都不是固定的,你想配成什么都可以,电脑获取ip地址可以人手工配置,也可以是dhcp服务器分给你的
人手工配的一般是静态的 因为只要人不去改就不会变
dhcp给的一般是动态的,就是你每次开机获取的时候和上一次可能不同,也可能是相同的,因为dhcp服务器可以配置优先下发给你你用过的IP给你
ip地址是网络的 不是电脑的 电脑没ip已经可以用,网络没ip基本就废了除非不用ip协议 地址解析协议 ARP 广播出去,单播回来
网际控制报文协议 ICMP
网际组管理协议 / 组播协议 IGMP
你可能感兴趣的:(数据结构)