计算机网络
应用层,传输层,网络层,数据链路层,物理层
物理层的设备有:中继器,集线器
数据链路层:网桥,交换机,网卡,PPLS(首字母)
网络层:三层交换机,路由器,AR3I(首字母)
局域网工作在物理层和数据链路层,局域网内部有广播,也就是说广播只能在底下两层通信,不能跨网络层
这题选B,因为P和S之间隔了路由器,路由器是网络层的设备,所以不能通信,网桥和交换机是数据链路层,集线器是物理层,不会影响通信
子网划分
IP地址共有32位二进制表示
IP地址可分为A、B、C类,A类表示前8位是网络号,后24位是主机号,B类则是前16表示网络号,后16是主机号,C类是24位是网络号,8位是主机号
所有类共有2的(主机号位)次方-2个主机,因为一般全零和全一是保留段
如果有172.18.129.0/24,这种表示和ABC类表示法不一样,主要依靠斜杠后面的位数决定网络号,比如这里网络号是24位,主机号是8位
例1,将B类IP地址168.195.0.0划分成27个子网,子网掩码为多少?
B类IP地址,表示前16个网段都是网络号,后16个是主机号,划分子网是在主机号里划分,27个子网,2的5次方满足27,所以在后16位里拿出5个位用来做子网号,后面的11位是主机号,16位网络号+5位子网号,这21位置为1,后11位置为0,就是子网掩码,所以是255.255.248.0
例2,将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台,子网掩码为多少?
700>512,700<1024,所以主机号应该占10位,所以子网号应该是6位,子网掩码:255.255.252.0
广义表
有两个操作,取表头和取表尾,广义表的第一个就是表头,表尾是除了表头的所有元素
广义表长度就是有多少个元素,深度就是一个表做了几层嵌套,比如广义表:(a,(b,c),(d,e)),长度是3,深度是2
树与二叉树
结点的度:看节点有几个子树,有几个就是几度
树的度就是最大的结点度
树的层次,根结点算是第一层
满二叉树和完全二叉树
满二叉树就是没有缺失的,完全二叉树是有缺节点的,但是缺的节点都是右边的,也就是从上到下,从左到右排是完整的,顶多右边缺失了
第i层二叉树上最多有2的i-1次方个节点
层次为k的树,总共最多有2的k次方-1个节点
查找二叉树(排序二叉树)
左子树的值小于根结点的值,根结点的值小于右子树的值
哈夫曼树(最有二叉树)
就是求带权路径,和构造哈夫曼树
带权就是叶子节点有个权值,路径就是根结点到这个子节点有多少段
构造哈夫曼树,就是先选两个最小的值相加,然后这个最小的值加入到列表里,然后去掉刚才的两个最小的,然后重复操作,知道用完,构成一个树
平衡二叉树,就是两边深度不能超过1
二叉树分类:
满二叉树:没有缺失的节点,都是满的
完全二叉树:从左到右是满的,不会跳,最多是右边缺失部分节点
查找二叉树(排序二叉树):左子树的值小于根结点的值,右子树的值大于根结点的值
哈夫曼树(最优二叉树):一般就是越小的值在越底下,保证带权路径小就行了
平衡二叉树:左右子树高度不超过1
图:
完全图:每个节点与任何一个其他节点之间都有连线
图的最小生成树–克鲁斯卡尔算法:直接选n条权值最小的,注意不形成环路就可以
普利姆算法:随便先选一个顶点,把这个顶点看成红点集,然后把其他点当成蓝点集,选择红点集到其他蓝点集任意一个点权值最小的,然后将这个蓝点纳入到红点集,然后重复操作
编译流程:词法分析,语法分析,语义分析
法律法规
署名权,修改权,保护作品完整权,这些是无限制的
其他权是50年,个人就是生前+死后50年,单位是固定50年,算到第50年的12月31日
音频
人耳:20~20kHZ,乐器也是这个范围
采样频率应为声音最高频率的2倍
图像
亮度,色调(红,绿),饱和度
多媒体
文字,图像,动画,音频,视频这些是表示媒体
输入,键盘,麦克风,音响,显示器这些是显示媒体(表现媒体)
、
容量计算
图像
知道像素和位素,容量为:像素X位素,一般位素是多少位,也就是bit,要转化为B就要除以8
知道像素和色素:容量为:像素X㏒₂(色数),要转化为B就要除以8
音频
容量:采样频率X采样位数X声道数÷8
视频
每帧图像容量(单位是B)X每帧秒数X时间+音频容量X时间
开发模型
瀑布模型:是结构化方法开发,一般用于结构开发,缺点明显,需求分析一改,所有的都要改,只适合与需求完全准确的情况,但是这是不可能的,或者二次开发场景
原型:适合于需求不明确的情况,和瀑布模型刚好相反,大概是根据用户需求写个页面,没有功能,只是样子,然后和用户再次对其需求,反复几次后基本就能确定了
V模型:重视测试
喷泉模型:是面向对象的。迭代,无间隙的特性
快速开发模型:瀑布模型和构建组装模型的集合
构建组装模型:主要就是构件库,可以复用,节省成本、时间,有可靠性
统一过程模型(UP/RUP):初始,细化,构建,交付
特点:用例驱动;以架构为中心;迭代和增量
初始:需求分析。展示候选架构,评估风险,
细化:建立架构基础,完成架构设计
构建:开发构件库里没有的构件;构建组装与测试
交付:β测试,用户文档
敏捷开发:适合小规模的需求开发
信息开发方法:分四种:结构化方法(缺点:流程固化,不灵活),原型法(适合需求不明确),面向对象方法(复用性好),面型服务方法
响应时间是性能需求
概要设计,详细设计
自顶向下,模块独立
参数耦合:一组模块通过参数表传递简单数据
外部耦合:一组模块都访问一个全局简单变量,而不是通过参数表传递
公共耦合:多个模块都访问同一个公共变量
动态测试:黑白灰盒测试
单元测试,集成测试,系统测试,确认测试
语法分析是检查括号,引号这些
函数调用和返回的是栈区,由系统控制,堆区由用户控制
多态分好几种,只要记住出现了就选过载多态
gantt图:不能描述各任务之间的依赖关系
主机:cpu+主存储器(内存)0
cpu=控制器+运算器+寄存器组+总线
循环校验码只能检错,不能纠错
原始报文对除数做模2,比如11011,这时11011是5位,那么在原始报文后面要加4个0,然后在做模,也就是异或,一直到最后剩余四位数,补充到原始报文后面,这就是结果,如果校验后的报文对11011做模,能得到0,就说明没被修改过