考研 408 计算机笔记

平衡二叉树的特性: 它是一棵空树或它的左右两个子树的高度差的绝对值不超过 1,并且左右两个子树都是一棵平衡二叉树。


完全二叉树: 若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。


森林转换为二叉树: 转换规则为『左孩子右兄弟』。在最后生成的二叉树中,父子关系在对应森林关系中可能是兄弟关系或原本就是父子关系。如下图:


无向连通图的特性:

  1. 所有顶点的度之和为偶数(正确,因为每一条边都连着两个顶点,所以所有顶点的度之和 = 边数 * 2 )
  2. 边数大于顶点个数减 1 (错误,如果只有两个顶点的情况下,边数等于 1 ,顶点数等于 2 )
  3. 至少有一个顶点的度为 1 (错误,如下图,每个顶点的度都为 2 )


B-树 和 B+树:

参考:
漫画算法:什么是 B 树?
漫画:什么是 B+ 树?


小根堆(小顶堆):

小顶堆可以用 完全二叉树 来表示


冒泡排序: 通过相邻两个元素之间的比较和交换,使较大的元素逐渐从前面移向后面(升序),就像水底下的气泡一样逐渐向上冒泡,所以被称为“冒泡”排序。

插入排序: 每次从无序序列中取出第一个元素插入到已经排好序的有序序列中,从而得到一个新的,数量加 1 的有序序列。

选择排序: 参考之前的一篇博客:算法02 七大排序之:直接选择排序和堆排序

归并排序: 参考之前的一篇博客:算法04 七大排序之:归并排序


冯诺依曼计算机中指令执行过程: 通常完成一条指令可分为取指阶段执行阶段 。在取指阶段通过访问存储器可将指令取出;在 执行阶段 通过访问存储器可以将操作数取出。


浮点数的运算:

参考:
5.1 浮点数的加减法 - 博客园
教你轻松做出分数转换二进制


精简指令集和复杂指令集:

相对于 CISC 计算机,RISC 计算机的特点:

  • 指令条数少;
  • 指令长度固定,指令格式和寻址种类少;
  • 只有取数/存数指令访问存储器,其余指令的操作均在寄存器之间进行;
  • CPU 中通用寄存器多;
  • 大部分指令在一个或者小于一个机器周期内完成;
  • 以硬布线逻辑为主,不用或者少用微程序控制。

参考:RISC和CISC - 博客园


流水线中 时钟周期的特性: 时钟周期应以最长的执行时间为准,否则用时长的流水段的功能将不能正确完成。


硬布线控制器的特点:

  • 硬布线控制器的速度取决于电路延迟,所以速度快;
  • 微程序控制器 采用了存储程序原理,每条指令都要访控存,所以速度慢。
  • 硬布线控制器采用专门的逻辑电路实现,修改和扩展困难。

进程调度算法:

  • 时间片轮转调度:是一种最古老,最简单,最公平且使用最广的算法。每个进程被分配一时间段,称作它的时间片,即该进程允许运行的时间。
  • 短作业优先调度算法(Short Job First):用于进程调度时又被称为短进程优先调度算法(Short Process First),该算法既可以用于作业调度,又可以用于进程调度。在作业调度中,该算法每次从后备作业队列中挑选估计服务时间最短的一个或几个作业,将他们调入内存,分配必要的资源,创建进程并放入就绪队列。在进程调度中的原理类似。
  • 先来先服务调度算法(First Come First Served, FCFS):是最简单的调度算法,可以用于作业调度和进程调度。按照作业进入系统后备作业队列的先后次序来挑选作业,加入就绪队列,等待执行。
  • 高响应比优先调度算法:同时考虑每个进程的等待时间和需要的执行时间,从中选出响应比 最高的进程投入执行。响应比 R 定义如下:
    响应比 R = (等待时间+执行时间) / 执行时间