Soft test
计算机组成与体系结构
进制
① R进制转十进制
R进制转为十进制,底数为R
② 十进制转R进制 – 短除法
R为待转进制数
③ 二进制转八进制和十六进制
(1)二进制转八进制,三位为一单位
(2)二进制转十六进制,四位为一单位,10开始使用A为一个数字为进行代表,A:10,B:11, C:12, D:13, E:14, F:15
加法:
减法:
乘法:
除法:
浮点数运算
浮点数能表示的数的范围由阶码(e)的位数决定,精度由尾数的位数决定。
数符:正为0 负为1
阶符:在转换时候出现 n的正负 依然遵循 正0 负1 的规律
阶码:次方数
尾数:小数点后的数
编码
①原码
转为二进制,不足8为补0,最高位为符号位。(1)->00000001
1为负,0为正; (-1)->100000001 (1-1)->(1+(-1))->100000010->-2
②反码
正数和原码相同; 负数符号位不变其余取反,运算后除了符号位其余取反则位原码值
正:(00000001)->(000000001) 负:(100000001)->(11111110)
(1-1)->(111111111)->(10000000)->-0
③补码
正数==反码==原码
负数:== 反码+1
④移码(浮点运算的接码)
移码==补码的首位取反
计算机结构
CISC 与 RISC
流水线
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
流水线周期、执行时间计算
解: 流水线周期:2ns
100条指令全部执行完毕需要的事件为:
①理论公式:(2+2+1)+(100-1)*2=203
②实践公式:(3+100-1)*2=204
流水线吞吐量计算
吞吐率 TP:单位时间内流水线所完成的任务数量或输出的结构数量
流水线最大吞吐率:1/周期时间
流水线的加速比计算
流水线的效率计算
l
Cache:SRAM
Cache与主存地址的映射是由电硬件自动完成
冲突数小:全相联、组相联、直接
层次化存储结构
中断 / I/O
- 中断向量:提供中断服务程序的入口地址
- 中断响应时间:发出中断请求开始进入中断服务程序
- 保存现场返回来执行源程序:堆栈
存储器
CPU
虚拟存储器:主存+赋存
主存:DRAM
按内容访问:相联存储器
按访问方式分类:内容、地址
按寻址方式:随机RAM、顺序SAM、直接DRAM
EEPROM:电可擦除
空间局部性:访问邻接指令
时间局部性:再次被访问
闪存:块为单位,
随机存取存储器
①DRAM (Dynamic RAM,动态RAM) - SDRAM
②SRAM (Static RAM,静态)
只读存储器
①MROM (Mask ROM, 掩护式ROM)
②PROM (Programmable ROM, 一次可编程ROM)
③EROM (Erasable PROM, 可擦除的PROM)
④闪速存储器 (flash memory, 闪存)
编址
*地址单元=大内存地址-小内存地址+1
磁盘
例题:
总线
系统总线:ISA、EISA、PCI:并行内总线
SCSI::并行外总线
减少信息传输线的数量
带宽=时钟频率*B字节
(1)内部总线
(2)系统总线
①数据总线 ②地址总线 ③控制总线
(3)外部总线
系统可靠性分析
考察:计算
例题:串联中存在并联,串联位为主体
串联系统
可靠度:R=R1xR2xR3xR4xR5x…xRn
失效率:λ=λ1+λ2+λ3+λ4+λ5+…+λn
并联系统
可靠度(1-失效率):R=1-(1-R1)x(1-R2)x(1-R3)x(1-R4)x(1-R5)x…x(1-Rn)
失效率:1-可靠度
n模冗余系统
(少考)
差错控制
CRC循环校验码–只能检错
模2除法(异或操作 )–双1为0,1-0为1,0-1为1,补0为被除数-1位
奇偶校验
码距d:两个二进制比较多少位不同
海明校验码
- 利用奇偶校验纠错
- 码距>1,=2可以检错,>=3可以纠错
(1)确定校验位为多少位(r),>=n+r+1
(2)校验码放的位置为2的次方
例题:
操作系统
进程管理
进程的状态
前趋图
PV操作
p操作==自-1
当判断为True时被阻塞放入到进程队列等待
当判断为False时则继续进行下去
v操作==自+1
当判断为True时被阻塞放入到进程队列等待
当判断为False时则继续进行下去
习题
C A A
死锁问题
至少资源计算:(n(需求)-1)x k(进程数)+1
死锁的预防:打破四大条件:
互斥、保持和等待、不剥夺、环路等待
死锁的避免:有序资源分配法、银行家算法
存储管理
分区存储组织
页式存储组织
练习:
s
段式存储组织(逻辑结构划分)
7
段页存储组织
快表
页面置换算法
例题:
(1):没有使用快表:说明每读一次程序的块,需要先在内存上查表,才能读取相应的内存块,所以每一个块需要两次内存的访问,总共6个块==12
(2):规定:指令一次性读入,指令产生一次缺页中断。操作数产生两次
文件管理
索引文件结构
① 0~9地址为直接索引,对应物理盘块,存取索引文件内容
② 一级间接索引:10 节点:存储物理盘块地址(假设一个地址4字节,一个索引节点假设4k,则可以存4k/4bite*物理盘块4k )
③ 二级间接索引:11节点,一级*1024
例题
解:58和187、二级地址索引表
① 58和187: 逻辑号从0开始算,第5块位于i-addr[5]中的58号,索引块为1k,一个地址项4B,一个索引块有1024/4=256个地址项(5~260),第261号刚好位于第187号索引位;
② 二级地址索引表
文件和树型目录结构
考点:绝对路径、相对路径
空闲存储空间的管理
例题:
解: 132 , 该子的第3个位置”1“
① 因为从0开始编位,从1位开始算,4195号位于4196,系统字节长32位,所以4195位于:(4195+1)/32=131.125
② 从0位开始算,
数据传输控制方式
虚设备与SPOOLING技术
微内核操作系统
数据库系统
三级模式
外模式-概念模式映射:表发生变化,改映射不需要改程序
外模式:比如数据库里面的视图,对数据库的数据处理
模式:如数据库的基本表
概念模式:比如数据库表的级别,把数据分成若干表
概念模式-内模式映射:内部存储形式和表的情况的映射关系
内模式:管理如何存储数据(格式、优化),存储文件
内模式层次 –> 物理级数据库层次
概念层次 –> 概念级数据库
用户应用程序层次 –> 用户级数据库
两级映射
概念模式==模式
- 数据的物理独立性:修改模式和内模式之间的映像
- 数据的逻辑独立性:修改外模式和模式之间的映像
完整性
数据库设计过程
E-R模型
矩形 – 实体
椭圆 – 属性
菱形 – 联系
制图方法:
转成关系模式:一个实体转为一个模式,一个联系转为一个模式
① 1:1 –> 可以把联系合并到其中的一个实体看成一个模式也可以单独转为一个模式,则最少可以转为2个关系模式。
② 1:n –> 看情况把联系合并到哪个实体,最少可以转换为2个关系模式。
③ m:n –> 最少3个关系模式
关系代数
考点:关系代数表达式,找出等价表达式。写出关系代数表达式
差集:A-B(A有且B没用)
笛卡尔积:A x B (A中一个个乘与B全部)
投影:列与列
选择:行与行(如下标位为数字,则为列的数据)
连接:相同字段连接,自然连接起来,相同字段被去除,当需要计算投影,要算入相同字段,如例题则为 Sno、Sname、Sdept、Sno、Sage
元组:两个表的属性要相等
左连接:左表保留全部属性,就算右表不存在连接则显示null
右连接:右表保留全部属性,就算左表不存在连接则显示null
规范化理论
函数依赖
部分函数依赖:
主键是两个属性的组合键,主键其中的一部分可以确定某一个属性
传递函数依赖:
A确定B,B能确定C,则A可以确定C
价值与用途
键
超键 :唯一标识元组,可能存在冗余属性(例如学号和姓名可以确定性别,学号和姓名为超键)
候选键 : 无冗余属性,候选键可以有多个,主键只有一个
入度:被指向,指入
例题1 :求候选关键字 A1
解:只有A1入度为0且以A1为起点,可以遍历所有的结点
例题2 :求候选码 ABCD
解:
注意事项:(ABD->E 是A与B与D汇合才能指向E,不能一个就使用单指向箭头)
错误画法:
该题的答案为:ABCD组合键才是候选码 :
例题3 : 组合键为A和B(如果写:AB则为一个组合键)
解答:没用入度为0,找中间结点(有出度和入度),
范式
第一范式(1NF)
例题:第一范式:就是等价头目录,没有分类下去–父类
第二范式(2NF)
部分依赖:主键为组合键
思考题:
数据冗余:CREADIT字段
更新异常:更新CNO的CREDIT字段,必要要全部更新
插入异常:实现插入CNO+CREDIT,但没有SNO+GRADE数据
删除异常:删除一条信息,CREDIT也会被删除
解决方案:把CNO和CREDIT提取出成一张新的表,原表删除CREDIT字段
第三范式(3NF)
BC范式
T不是候选键->不是bc范式
例题
(1) C 成为第三范式要实现 消除传递函数依赖,题意为不属于第三范式
(2) D 在多数据的表插入另一个字段
(3) A b:产生冗余数据–商品每次
模式分解
- 保持函数依赖分解
分解后仍然保持函数依赖
例题1
原始表:
解:第一列(成绩、学生、课程)为待分解出来的表
a : 每一行的a代表这个表拥有这个字段,下标为原表的第几列
b : 不拥有这个属性使用b,下标为:第几行第几列
根据依赖关系,把表还原
例题2 – 判断是不是无损分解 – 一分为二
解:
- R1-R2=B 、R2-R1=C
集合的减相当于被减数减去和减数里面相同的部分,留下不同的则为答案
在原来函数集合中满足 (交集)A 确定(R1-R2) B 或者 (交集) A 确定(R2-R1) C 则属于无损分解
并发控制
完整性约束
数据库安全
数据备份
- 冷备份\热备份
- 完全备份 \ 差量备份 \ 增量备份
- 故障与恢复
数据仓库与数据挖掘
父分类:
反规范化
大数据
计算机网络
OSI/RM七层模型
习题1:局域网工作在底下两层,广播存在局域网
解:求同一局域网
A :通过网桥连接,属于同一局域网
B :隔了路由器。路由器为第三层设备,不能透过通信
C :隔了集线器,属于第一层设备
D :隔了交换机,属于第二层设备
网络技术标准与协议
FTP : 可靠 TFTP:不可靠
SNMP : 简单网络管理协议
文件共享协议 (可通过UDP、TCP实现):Samba(可跨平台)、CIFS、NFS
TCP协议
- 三次握手
DHCP协议
- IP地址动态分配
6.为假地址(没有和DHCP服务器联系上)
DNS协议
迭代查询:服务器必须回答目标IP与域名的映射关系。
递归查询:服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其他DNS服务器的地址
例题
根域名服务器直接反馈结果–>迭代
中介服务器去问其他服务器,得到结果才反馈 –> 递归
拓扑结构
网络规划与设计
考点:了解规划和设计原则、逻辑设计和物理设计干什么
逻辑网络设计
物理网络设计
分层设计
IP地址
主机号全0为网络地址 ,全1为广播地址 ,计算主机数量要减去
A类 – 规定第一段首位为0
前一段为网络号,后三段为主机号
主机数量:2^24 - 2
B类 – 第一段第二位为0
- 前两段为网络号,后两段为主机号
- 主机数量:2^16 - 2
C类 – 第一段第三位为0
- 前三段为网络地址,后一段为主机地址
- 主机数量:2^8 - 2
子网划分
子网掩码
子网掩码 = 网络号 + 子网号 + 主机号
网络号的部分为 1,子网号的部分为 1,主机号 为0
求子网号 :2^k=N
解:B类前16位为网络地址,在子网号中,因为 27个子网(N) 要取 5位做子网号(k) (2^5=32>27),取5位位子,网络地址和子网号都为1 转为十进制即可求得子网掩码
解:因为要求每个子网要有主机700台,即 2^k - 2 >= 700,k=10,则主机位为10位,该IP地址为B类,后16位为主机号,现在主机位为10位,则主机号前6位为子网号,则 网络号和子网号为1,主机号为0 == 子网掩码
无分类编址
解:
172 网络号位于B类(128~191),**/24** 表示:该IP地址转为二进制后,前24bite位为网络号 ,后8bite位为主机号,主机数为:2^8 - 2 = 254台
例题
解:
因为这是C类IP地址,所以前24bite位为网络号,8个bite位为主机号,
题目给出的地址块,前20位为网络号,后12位为主机号,不满足C类,所以主机号要让出4位做子网号,则子网数量 = 2^4 = 16 个C类子网
特殊含义的IP地址
无线网
网络接入技术
IPV6
系统安全分析与设计
信息系统安全属性
对此加密技术
- 对此加密:加密密钥和解密密钥相同
- 大数据量
非对称加密技术
- 使用甲公钥加密,甲公钥公开,需要使用甲私钥解
- 甲私钥加密(数字签名),由于甲公钥公开,所以谁都可以解开,但只有甲自己有私钥,所以定位是甲发出来的
- 不适合大数据量加密
- 拿对方公钥加密发送密文
信息摘要
防止篡改
数字签名
签名-私钥
验证–公钥
不可否认
- A私钥加密(****数字签名),A公钥解,由于A公钥公开,所以谁都可以解开,但只有A自己有私钥,用公钥验证,所以定位是A发出来的(识别身份作用),无保密职能
数字信封与PGP
- 发送对称密钥
练习题 - 设计邮件加密系统
解:
加密算法
- MD5 输入512 生成128
- AES 分组加密
网络安全 – 各个网络层次的安全保障
网络安全 – 网络威胁与攻击
网络安全 – 防火墙
- 屏蔽子网
- DMZ
- 弥补防外不防内
- 外网和内网间设置屏蔽区,为隔离区:放置对外服务的服务器(WEB服务器。。。)
数据结构
数组
len = 元素的字节数
例题
解: a+(2x5+3)*2
稀疏矩阵
例题:A
代数计算,例如A(0,0)应该存在M数据的M[1],A[1,0]–>M[2]
数据结构的定义
线性表
链表:由一系列的结点组件,一个结点包含两个域,数据域和指针域(保存下一个结点的地址)
单链表
引入头节点,不存任何信息,可以令所有结点操作方式变成一致
删除
(删除)q结点
p->next = q->next
插入
增加s结点
s->next = p->next
p->next = s
顺序存储与链式存储对比
队列与栈
队列:先进先出(两端操作)
栈:先进后出(一端操作)
循环队列 – 尾指针指向下位空
- 队空:头=尾
- 队满:(只存n-1位数据)(尾下一位为头元素则满)尾+1%n=0
解:cba abc acb bac bca
解:D(输出为靠左的依次输出)
广义表
- 表中表
长度:最外层的表包含多少个元素
深度: 有多少个不同的表,外表,子表
1…
表头head(Ls):第一个元素
表尾tail(Ls):除第一个元素其余都是表尾元素组成的新广义表
长度:最外层的表包含多少个元素 (例如LS1的长度为3,第一为表元素,第二三为子表)
深度: 有多少个不同的表,外表,子表1…(例如LS1的深度为2,第一个为表元素,算重数1,第二个和第三个都一层子表,算重数1,1+1)
- 最后解只能取表头
- 1.先取表尾 tail(LS1)=((b,c),(d,e))
- 2.取表头 head(tail(LS1))=(b,c)
- 3.再取表头 head(head(tail(LS1)))=b
树与二叉树
- 结点的度:拥有的孩子结点树 (结点1的度为 2)
- 树的度: 结点最高的度
- 叶子结点:4,5,7,8
- 分支结点: 有分支,1,2,3,6
- 内部结点:非叶子结点和根结点,2,3,6
- 兄弟结点: 同父
- 层次 : 同层结点
完全二叉树
- 满二叉树:每一层满
- 完全二叉树:最后一层左边顺序排满,除了最后一层,其余全满
二叉树遍历
- 前序遍历(先访问根节点,再访问左子树结点,再访问右子树结点 – 根、左、右):1、2、4、5、7、8、3、6
- 中序遍历(先访问左子树结点,再访问根节点,再访问右子树结点 – 左、根、右):4、2、7、8、5、1、3、6
- 后序遍历(先访问左子树结点,再访问右子树,再访问根结点 – 左、右、根):4、8、7、5、2、6、3、 1
- 层次遍历(一层一层遍历):1、2、3、4、5、6、7、8
反向构造二叉树
树转二叉树
- 孩子结点转为左子树的根节点,如果有多个孩子结点,采用最左边的孩子结点作为根结点,剩余的为兄弟结点
- 兄弟结点:全为树的右孩子结点,右边的兄弟为上一位兄弟的右节点,第二个孩子结点的根为孩子结点
- 连线法(多个孩子则只保留一个孩子和父节点的连线,兄弟连起来)
查找二叉树
最优二叉树(哈夫曼树)
不计算中间结点,只计算叶子结点
树的路径长度:每段累加起来的长度,有多少树枝
权:某个叶子结点的数值,数值代表某种数据出现的频度
带权路径长度:路径长度 * 权 (例结点2:带权路径长度=2 * 2,例结点4:带权路径长度=3 * 4)
树的带权路径长度(只计算孩子结点,根节点排除):所有的带权路径长度累加 (例1:47 例2:25)
构造哈夫曼树:树的带权路径长度最短
例题
- 选取两棵根结点权值最小的树
- 选两个加起来的权最小作为新树
先选两个最小权值权值的,计算和,然后替换原来的两个最小的,一直替换,生成树
①(当前3+5=8 -> min) 选 3,5 构成树,根 8 ,当前组的权值变为 29,7,8,14,23,11,8
②(当前7+8=-15 -> min)选 7,8 构成树 ,根15,当前组的权值变为 29,8,14,23,11,15
③(当前8+11=19 -> min)选8,11 构成树,根19,当前组的权值变为 29,14,23,15,19
④(当前14+15=29 -> min)选14,15 构成树,根29,当前组的权值变为 29,23,19,29
⑤(当前19+23=42 -> min)选19,23 构成树,根42,当前组的权值变为 29,42,29
⑥(当前29+29=58 -> min)选29,29 构成树,根58,当前组的权值变为 42,58
⑥(当前42+58=100 -> min)选42,58 构成树,根100
哈夫曼树的带权路径长度:5 * 5+3 * 5+7 * 4+14 * 3+29 * 2+8 * 3+11 * 3+23 * 2
线索二叉树
- 在二叉树的基础上存在虚线把各结点串起来
例如孩子结点左右都为空指针,有一些根节点的左或右为空
左子树的指针指向遍历的 前驱结点
右子树的指针指向遍历的 后驱结点
前序线索二叉树:前序遍历结果:A,B,D,E,H,C,F,G,I
- D的前驱结点为B,后驱结点为E
平衡二叉树
- 深度:多少个孩子结点 (结点7的深度为3)
- 平衡度:结点的 左深度 减 右深度 (如1的平衡度=0-0=0,如5的平衡度=1-0=1,8的平衡度=0-1=-1,39的平衡度=3-0=3)
图
图的存储
邻接矩阵
- N x N 二维表
邻接表
图的遍历
- 深度:访问到最后一个结点再返回 – 1、2、4、8、5、3、6、7
- 广度:遍历同层 – 1、2、3、4、5、6、7、8
- 深度:0、4、6、7、3、1、2、5、3
- 广度:0、1、3、4、6、2、5、7
拓扑排序
- 要使箭头前的结点全部完成(不分先后)才能输出,不受约束才能执行
图的最小生成树
普里姆算法
- 树没有环路 :边= n - 1
定义红点集:从红点集出发,比如接入了B,则A-B为红点集,判断哪个点到红点集里面哪个点最短,则纳入下一个点为红点集
定义蓝点集:剩余的点
不能形成环
克鲁斯卡尔算法
选当前最短的边,多条则一起选
算法
算法的特性
算法的复杂度
时间复杂度 – 考试频率高
- O(1) : 一条语句:例如赋值、输出
- O(n) : 一层循环,次数为n或n条语句
- O(n*2) : 两层循环,每层次数为n
- O(n*3) : 三层循环,每层次数为n
- log(2n) : 例如平衡很高的排序二叉树,查找键值,先跟顶结点比较再跟下层结点比较,如果当前二叉树为当前为3层,则需要比较3次,所n为结点的数量
空间复杂度
查找
顺序查找
- 平均查找长度:平均比较次数,例如上图,最好的情况比较 1 次,最坏比较 8 次,则平均查找长度为(1+8)/2
- 时间复杂度:O(n)
二分查找
例题
- mid中间值:(low+high)/2 得数取整 为 6
- 不停的和中间值比较,如果比较过则免除
- 最多比较次数:[Log2n]+1
- 时间复杂度:O(log2n)
查找-散列表
- 按内容存储,
例题
- h=key%p
- 3%5=3
- 8%5=3冲突,使用线性探测法,放到下一位空间
- 12%5=2
- 17%5=2,冲突,计划按照线性探测法放到3号,3号被3占用,4号被8占用,则放到5号位置
- 9%5=4,冲突,4、5被占用,放到6号
排序
直接插入排序
希尔排序
- 根据d设置间隔进行排序交换双方数值
直接选择排序
堆排序
小顶堆:孩子结点比父节点打
大顶堆:父节点最大
大顶堆:
①以完全二叉树排下来,每层从左到右填满
②父节点跟孩子结点比较,存在孩子大则替换,
- ①把顶取走,把最后一个结点 20 替换顶 80
- ②进行调整:把顶点和孩子对比,和最大的孩子交换
- ③再跟孩子比较,和最大的孩子交换
- ④再把顶拿走,最后一个结点上位为顶,继续进行比较替换
一次次取出来的顶组合成顺序表则为堆排序后的顺序表
冒泡排序
快速排序
- 小于基准的,和基准交换,往前放
- 大于基准的,和基准交换,往后放
- 最后基准前面的元素都比基准小,基准后都大于基准,则对这两个数组排序则得到排序后的数据
归并排序
- 57 和 52 比较,52 添加到R数组中,然后 57 和 59 比较,57复制到R中,然后 68 和 59并比较,59 添加到R,最后 68 添加到R,得到一次归并的排序后表,多次子表归并后则得到总排序表
基数排序
- 先按数的个位排序得到新的有序表
- 再按数的十位排序得到新的有序表
- 再按数的百位排序得到新的有序表
*程序设计语言与语言处理程序基础
编译过程
编译:编写完全部代码,编译运行才编译成目标程序
解释:编写完一段代码,编译器则后台进行解释看有没有写错误
词法错误:非法字符,关键字或标识符拼写错误
语法错误:语法结构出错,if endif不匹配,缺分号
语义错误:死循环,零除数,其它逻辑错误
目标代码:可执行的代码,涉及操作系统、底层硬件
文法定义
- 上下文无关法:广泛用于语法规则
语法推导树
- 语法推导:表达的串,构造的类型
例题:
- 终结符:{a,b} 一般在{ }的小写字母代表,终结符不能推导出别的元素
- 非终结符:这种符号可以推出其他符号,一般在{ }的大写字母在{ }表示,终结符可以推导出别的元素
- 起始符:S
- 产生式 \ 推导式:P、S->aAS|a、A->SbA|SS|ba
- S->aAS|a : S->aAS 、S->a
有限自动机
- 起始:S
- 结束:双圈代表结束点来的串**
例题:
解:
以选项的串进行输入,输入完毕看能不能从起始点到结束点
正规式
实例
(a|b)* 代表:a 或 b ,a,b,aa,bb …….
*** 代表多次**,0~无穷大,可代表空串
- 1、D:按选项进行校验
- 2、C:看能不能代表能实现所有可能的串
表达式
- D:先构造树:看题目,后缀表达式则为后序遍历树(左右根 ab-c5+*)
传值和传址
各程序语言特点
中间代码
中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,使用中间代码可提高编译程序的可移植性,常见的有逆波兰记号、四元式、三元式和树。
法律法规
保护期限
知识产权人确定
侵权判定
标准化
表准的分类
标准的编号
多媒体基础
音频
- 次声波、低声波:< 20Hz
- 超声波: > 20kHz
- 保证不失真:采样频率为被采样的音种最高率的两倍
图像
- RGB:彩色显示器
- YUV:电视机
- CMY(CMYK):印刷
- HSV(HSB):艺术
媒体种类
多媒体相关计算
求容量
像素 x 位数 : 位数,每个像素为16位:16 / 8 = 占2字节 =像素 x 位数的字节
像素 x 色数:256色的图像:占2^k=256 ,8位 占1字节 =像素 x 色数的字节
例题
- K=1024:1024只在存储使用
- 传输k为1000
- 1、颜色深度24位占3字节
常见多媒体标准
数据压缩基础
- 压缩前提:存在冗余
有损压缩与无损压缩
软件工程
开发模型
瀑布模型
- 瀑布模型:结构化方法中的模型,只适用于需求清晰的项目
增量模型与螺旋模型
其他经典模型
构建组模型(CBSD)
统一过程UP
敏捷开发方法
信息系统开发方法
需求开发 - 需求分类与需求获取
结构化设计
基本原则
内聚和耦合
系统结构/模块结构
软件测试
测试原则与类型
- 回归测试:把之前测试过的模块重新设计
- 代码走查:人工执行
测试用例设计
黑盒测试:例如只知道模块功能,输入输出暂未知
白盒测试:看到程序内部结构,把所有的路径都进行测试
语句覆盖:全部语句都执行一遍 层次级最低
判定覆盖:真假分支都要执行
条件覆盖:把判定拆分开,
路径覆盖:所有可能都覆盖了,最高层级
测试阶段
- 单元测试:测局部功能、模块的相关接口
- 集成测试:模块之间的衔接
McCabe复杂度
- 计算:V(G)=m-n+2
- 结点:分叉的地方可抽象为结点,也可不抽象为结点
CMMI
- 级别:一级~五级
项目管理
时间管理
- 甘特图:简单明了,各任务逻辑、依赖关系不清楚,
- PERT图:圆圈,
- 右上为最早开始时间:前序任务都完成的情况下,即多个前结点箭头上的最长持续时间后,例如:6,前两个持续时间分别为3、4,即4为最长
- 右下为最晚开始时间:求出最后一个任务的最早完成时间后,则最晚时间=最早时间,开始逆推-持续时间
风险管理
面向对象设计
需求工程
设计原则
UML
- 用例图:行为图、动态图|静态图(系统和外部的交互关系)
- 顺序图:按顺序
- 状态图:状态的变迁的转移情况
- 活动图:和流程图结构一致
设计模式的概念
- 架构模式:高层决策
设计模式的分类
创建型模式
- 原型模式:克隆模式
结构型模式
行为型模式
数据流图(DFD)
下午题1
基本概念
数据字典
数据流图平衡原则
顶层数据流图 和 0层数据流图 对比:找出缺少的数据流,一一匹配,指向方向:缺少->处理后的操作结果
1、父图子图平衡
2、加工既有输入流也要有输出流:加工至少有一条输入和输出流,只有输入无输出 -> 黑洞 只有输出无输入 -> 奇迹
答题技巧
答案
1、和文本进行审题
2、文本审题
3、和顶层图进行比较,看缺少哪个步骤:①处理后的操作结果:P->E1 ; ②操作结果:E3->P
4、实现有入一定要有出
解:
数据库设计
数据库设计过程
E-R模型
实体间联系类型
图向关系模型的转换
一对一:可以把联系合并到其中一个实体内
一对多:只可以把联系合并到多的实体
多对多:必须单独转为一个关系模式
答题技巧
例题1:
解析:
问题1:(1)1:n(1个部门对应多个员工)、(2)m 、(3)n
问题2:(不要求关联名称)
问题3:(4)员工号,部门号、(5)客房号、(6)身份证号、(7)岗位、(8)客房号、身份证号
问题4:优点:减少连接操作
缺点:数据产生冗余,重复存储
例题2:
解:
问题1
- 经理是特殊员工: 用横线中间圆圈表示,且特殊的职位设置两条竖线
问题2
a:商场编号
b:部门编号
c:员工编号
部门 – 主键:部门编号、外键:商城编号
员工 – 主键:员工编号、外键:部门编号
经理 – 主键:员工编号、外键:员工编号
问题3:
添加的实体:紧急联系人(员工编号、姓名、电话)
联系:1:n
UML建模
用例图
题干有关项目的描述,写参与者和用例(名称,参与者,角色)
包含关系(include):两个用例必然使用关系(登记外借信息 – 用户登录)
扩展关系(extend) :不必须使用第二个用例(查询书籍信息 – 修改书籍信息)
泛化关系
类图与对象
- 泛化:子类指向父类
- 实现
- 包含:包含-》被包含
顺序图
对象写在顶端,对象引出生命线(虚线)
箭头:向 * 发送 消息
考点:消息,填入某些消息,根据处理流程填入
活动图
接近程序流程图
横线:分支、合并
考点:补充完整
状态图
状态的变迁–动态图
状态为结点,触发事件
考点:根据系统描述,根据状态的变迁,填入状态和状态变迁的条件
例:会员升级
通信图
- 协助图、交互图
- 和顺序图类似,顺序图强调时间顺序
- 考点:填空题、填对象和传递的消息
案例分析1
- 问题1:
C:乐队
D:歌手,歌手聚成乐队 – 聚合关系
- 问题2
(1)0..* 一名歌手对应0个乐队或者多个乐队
(2)2..* 一个乐队对应两名或多名歌手
- 问题3
音轨:对应上一条和下一条
- 问题4
按任意键 – 选择歌曲 – 播放
案例分析2
- 问题1
S1:普卡会员
S2:银卡会员
S3:金卡会员
T1:2500<=里程<50000
T2:里程 >= 50000
T3:里程 >= 50000
问题2
问题3:
设计模式:状态模式
必须要有的属性:CLevel
计算里程数,判断里程数来计算会员等级
数据结构及算法应用
分治法
递归技术
二分查找
- L 数列
- a:开始下标、b:结束下标、x:查找值
回溯法
- 深度优先
贪心法
动态规划法
试题1
问题1
(1) j=0
(2) b[ j ]=b[ j ]+s[ i ]
(3) min = temp
(4) b[m]=b[m]+s[i]
问题2
(5)贪心
(6)贪心
(7)O(n*2)
(8)O(n*2)
问题3
试题2
问题(1)
- 问题2
(5)分治
(6)递归式:T(n)=2T(n/2)+O(n) :子问题为T(n/2),两个子问题,归并复杂度为O(n)
(7)时间复杂度:O(nlogn)
(8)空间复杂度(需要多少个交换空间==多少个元素):O(n)
- 问题3
(9)n1+n2