408重难点总结汇总

本文总结了数据结构中的栈、B/B+树和散列表,强调了随机存取和查找的区别。在计算机组成原理部分,讲解了计算机系统概述、数据表示和运算,特别是浮点数的表示。操作系统方面涉及进程与线程、内存管理等内容。重点讨论了排序算法,如选择排序、归并排序、快速排序的特性,并概述了外部排序的过程。
摘要由CSDN通过智能技术生成

 数据结构:

栈:

B、B+树:

  • 随机存取和随机查找的区别:

随机存取是指访问存储设备中的数据,而随机查找是指在数据集合中查找特定数据项

 B,B+树支持随机查找。

  • 顺序查找和随机查找的区别:

顺序查找是无论什么情况都是顺序的

随机查找是依次查找数据项,与给定初始值有关

散列表:

  • 装填因子:a=n/m n为个数 m为表长
  • 散列表的冲突和装填因子无关
  • 散列表的查找成功的平均查找长度与装填因子(装填因子越小,查找效率越高)、散列函数、冲突解决策略有关,与表长无关

同义词是指散列表中具有相同散列地址的两个元素

堆积:同义词和非同义词冲突

排序:

  • 选择排序、归并和初始状态无关,快速排序初始状态越有序越复杂
  • 快速排序查看快慢通过划分是否为中间来看,序列每次操作后都会改变,后面的划分需要看变话后的序列
  • 一趟:对所有元素进行一次处理,快排中要从整体看
  • 对于一个序列有k1,k2,优先级高的后排并且要用稳定的算法来保证前面的排序
  • 堆排序包括建堆O(n)(对于每一层都有可能下坠每层有2的n-1次方个结点)建堆是从n/2向下取整开始排序、取堆顶、重排O(logn)(下坠)
  • 堆排序在建好堆后:

1.插入:放在最后一个结点后进行排序,由于只影响一个树和高度有关logn

2.删除:删除后向下调整,也只影响一侧树,和高度有关logn

  • 堆排序在建堆和删除的时候才用考虑比较兄弟结点大小

内部排序总结:

归并、快排是用递归实现的

代码长度:归并>插入排序

实现简单: 简单选择       直接插入      冒泡排序

               (选择排序)(插入排序)(交换排序)

比较次数和趟数都与初始状态无关:简单选择

趟数:简单选择,直接插入,基数

分治思想:归并,快排

对于内部排序大量数据处理:希尔

外部:归并

空间复杂度: 快排平均O(log2n),最坏O(n)

  2路归并O(n)

  其余O(1)

稳定:直接、折半插入,冒泡、归并、基数

不稳定:简单选择(30,30*,1,2)、快速、希尔、堆排序

每趟处理确定一个位置的最终位置:快速、选择、冒泡、堆排序

需要用到随机存取特性的排序:堆排序(2i,2i+1)希尔(d)

外部排序:

  • 带权路径长度等于各个叶节点到根节点的总和
  • 最佳归并树:nk=(n0-1)/(k-1)  k-u-1个虚段
  • 外部排序过程中输入输出缓冲区作用:
  1. 暂存输入输出记录
  2. 内部归并的工作区
  3. 产生初始归并段的工作区

m路实现输入/内部归并/输出
不需要并行处理:        需要m个输入                                        1个输出
    需要      2m        2
内部归并独立于两者

  • 求前缀,中缀,后缀,先转化成二叉树

前缀是二叉树的中序遍历

后缀是二叉树的后序遍历

  • 表达式求值中栈底必须比其他元素优先级小严格小
  • 循环队列不会产生假溢出

计算机组成原理:

 计算机系统的概述

1.CPU的构造:

2.系统总线:

3.数据驱动方式:

根据指令来准备数据

根据数据来进行操作

4.

5.冯诺依曼机是以存储程序为核心的,存储程序一旦被启动不需要操作人员的干预

6.控制器

7.计算机多层存储结构

8.硬件能直接执行的只能是机器语言(二进制编码)

9.源文件可以直接通过编译程序变成机器级目标代码文件

也可以先变成汇编语言再变成机器级目标代码文件

数据的表示和运算

1.在计算机中用无符号数来表示主存地址

2.异或

3.定点数:

原码高位低位补零

反码:正数同原码

负数高位低位补1

4.进位原理

移位运算

算术移位

码制--->添补规则

正数+

原,反,补---->0

负数-

原码--->0
补码左移--->0
补码右移--->1
反码--->1

  • 算术移位的对象是有符号数,移位过程中符号位保持不变
  • 算术左移情况下,补码左移的前提条件是其原最高有效位与原符号位要相同【如符号位1,最高有效位1,数据不丢失】
  • 算术左移实现乘法功能,算术右移实现除法功能
  • 例:十进制−4 11111100补右移两位−−高位填充符号位−−→11111111补即十进制−1,是−4的14

逻辑移位

  • 逻辑移位视数为无符号数
  • 左移,低位补0
  • 右移,高位补0
  • 例:十进制−4� 11111100补右移两位−−高位补0−−→00111111补�即十进制63�,不是−4的14

循环移位

【分类】带进位标志CF的循环移位(大循环) + 不带进位标志位CF的循环移位(小循环)
【主要特点】

  • 移出的数位又被移入数据中,而是否带进位则要看是否将进位标志符加入循环位移
  • 循环移位适合将数据的低字节数据和高字节数据互换

(a)中把最后一位放到CF和首位(b)中最后一位放到CF中,CF放到首尾

带不带进位位CF都要改变

乘除:

补码减法和无符号减法:用被减数加上减数的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值