1. 存储容量单位: 字节
存储容量的最小单位: 位
字符的编码: ASCII
2. 单工、半双工、全双工区别
单工: 数据传输支持数据在一个方向上传输
半双工:数据传输在两个方向上传输,但是,在某一个时刻,只允许数据在一个方向上传输,实际是一个切换方向的单双工
全双工: 数据传输同时在两个方向上传输,全双工是两个单工通信方式的结合
3. 操作系统作用
管理和控制系统资源
4. 计算机病毒
一组计算机指令或者程序代码
5. 域名和IP地址区别
IP地址: 4个十进制段构成的32位地址。
DNS: 域名系统,计算机通信只识别IP地址,不识别域名。DNS就是将域名翻译成IP地址的过程。
6. 软件工程
软件工程发展: 经历程序设计阶段(规模小,工具简单,无明确分工)、软件设计阶段(硬件相对稳定,出现开放作坊,软件产品质量不高,出现软件危机)、软件工程阶段。
软件工程目标:以合适成本生产满足用户的产品,不一定是可用性好的产品。其特点:适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性。
软件需求包括: 业务需求{组织或客户高层的目标}、用户需求(用户使用系统做什么)、功能需求(开放人员实现的软件功能)
7. 媒体: 表示信息和传播信息的载体
8. 排序(http://blog.csdn.net/anzelin_ruc/article/details/9294459
)
1) 冒泡排序
2) 直接插入排序
3) 希尔排序
4) 简单选择排序
5) 堆排序
6) 归并排序
7) 快速排序
9. 查找
通常有两个输入参数: 1. 被查找序列 2. 要查找的关键字
1) 顺序查找
概念:从表的第一个元素开始一个一个向下查找,如果和目标元素一致的元素,查找成功;如果到最后一个元素扔没有目标数据,查找失
败。
编写一个程序:对顺序表{3,6,2,10,1,8,5,7,4,9},采用顺序查找关键字5的过程。要求输出:
/**
* @parameter: A 顺序表
* @parameter n 顺序表的长度
* @parameter k 要查找的关键字
**/
int SeqSearch(SeqList A[],int n,KeyType k){
int find = -1;
for(int i=0;i
if(A[i]==k){
find = i;break
}
}
return find!=-1?1:-1;
}
分析结论: 1) 查找成功的比较次数为表长一半;2)若k不在表中,必须进行n+1次比较 3) 顺序查找时间复杂度O(n)
2)二分查找
概念:
二分查找(Binary Search) 又称折半查找,是一种效率比较高的查找方法。
前提条件:
要进行二分查找,则线性表必须
顺序存储
并且
数据元素有序
。
二分查找基本思想:变量开始和结束下标low 和 high ,待查关键字key,其下标为mid=(low+high)/2的关键字比较。三种情况,1) key==A[mid].key 查找成功
2) key>A[mid].key 右边区域查找成功
3) key
算法分析:二分查找算法计算复杂性可以用二叉数分析,称为二分查找判定数或者比较树。二分查找成功进行比较比较的次数log2n+1
场景: 二分查找只适用于顺序存储结构,不适用于线性链表结构。故插入和删除频繁时候效率很低。
平均查找长度ASL=每个节点查找长度之和/总节点数
已知一个有序表
(
15,
26,
34,
39,
45,
56,
58,
63,
74,
76,
83,
94
)
顺序存储于一维数组
a[12]
中,根据折半搜索过程填写成功搜索下表中所给元素34
, 56, 58, 63, 94
时的比较次数。
根据折半查找算法可以知道:
(1) 34 的比较次数为 2
(2) 56 的比较次数为 1
(3) 58 的比较次数为 3
(4) 63 的比较次数为 4
(5) 94 的比较次数为 5
关键字k
哈希函数H(k)
通过H(k)获取k对应的地址,然后把相应的k存储在指定的地址中
main(){
int k,j;
for(k = 1;k<=3;k++){
}
}
10. 树(http://blog.csdn.net/bjyfb/article/details/7522000
)
1)二叉排序树
1.若左子树为非空,左子树所有节点数值小于根节点;
2.若右子树为非空,右子树所有节点数值大于根节点;
3.中序排序是一个递增的序列;
4.存储结构:
typedef struct node{
KeyType key;
struct node *lchild,*rchild;
}BsTree;
5.二叉排序树的插入
6.二叉排序树的删除
7.二叉排序树算法分析
求:树的平均查找长度,即: ASL = 总的查找长度/节点个数
2) 平衡二叉数
概念:平衡二叉数可以为空树或者满足下面条件的树
1. 左右子树深度之差不能大于1
2. 左右都是平衡二叉数
3) 最优二叉树即:哈弗曼树
1.最优二叉树是带权路径长度最小的树;
2.树的路径长度:从树根到每个节点长度之和。在相同节点二叉树树中,完全二叉树的路径长度最短。
3.构造哈弗曼树
任意选择两个最小的节点,然后组成左右子树,并删除从森林中删除该节点;
根据排序后的结果再次选择最小的,即可构成一个哈佛曼树;
通过左子树标记0,右子树标记1,这样就形成哈弗曼编码;
1. 给定一个二叉树,转换成对应的
先序、中序、后序结果
先序(中左右):ABDEH CFGIJ
中序(左中右): DBHE A FCIGJ
后序(左右中): DHEB FIJGCA
2. 给定
对应的
先序、中序、后序结果生成对应的二叉树
其中 : 先序和中序,中序和后序可以唯一确定一颗二叉树
5)树和二叉数的转换
11. 计算机系统组成
1. 计算机硬件5大组成部分: 控制器、运算器、存储器、输入设备和输出设备。
2. CPU包括控制器和运算器,其中: 运算器的作用是进行算数运算和逻辑运算;控制器的作用主要是对链路中的信号进行控制
3. 存储器:内存储器和外存储器,其中: 内存储器是CPU直接访问的存储器,而外存储器不能被CPU直接访问,必须先调用内存器。
内存储器包括:ROM和RAM,两者的关系和区别
(1) ROM和RAM 都是计算机的内存
(2) ROM: 只读存储器即:只能读取信息,不能写入信息,断电后数据不会丢失。
RAM:随机存储器,可读可写,断电后数据会消失。
4. 计算机系统包括: 软件和硬件
5. 软件: 计算机程序和方法以及规则文档在计算机存储的数据
6. 系统总线: 数据总线、地址总线、控制总线
数据总线: 用于CPU、存储器、输入输出设备之间数据传输
地址总线:用于存储单元或者输入暑促地址之间使得信息传送
控制总线: 用于传送控制器的各种信号
7. 计算机系统软件包括: 系统软件和应用软件
系统软件包括: 操作系统,诊断程序,语言处理程序,数据库管理系统,网络通信系统。
其中:
操作系统管理和分配计算机资源;
诊断程序用来检测计算系统故障;
语言处理程序分成三类: 机器语言,汇编语言,高级语言
(1)机器语言:直接由二进制编码构成的语言。
8.计算机软件和硬件的关系
相互依存、相互促进、无严格界面
9.计算机中媒体包括: 1) 存储信息的实体,例如: 磁盘,磁带,光盘 2)传播信息的载体,例如: 数值,文字,图形,图像,声频,视频等
10. 软件技术的发展的三个阶段: 高级语言阶段(60年代)、结构化程序设计阶段(70年代)、自动程序设计阶段(80年代)
其中: 结构化阶段提出程序的结构包括顺序结构、选择结构、循环结构
11.在主存和CPU之间增加Cache的目的:解决CPU和主存之间不匹配的问题
12.引入缓冲区的目的:解决CPU和I/O设备之间不匹配的问题
13.数制编码(2、8、10、16进制相互转化和计算)
(1)十进制整数转为二进制
规则:除以2取整,并倒序排列
12 = (1100)2
(2) 二进制转为十进制
(1100)2 = 8+4 = 12
(3)十进制小数转为二进制小数
规则:
乘2取整,顺序排列
0.125 = (0.001)B
例如:
十进制数31.125转换成二进制数是
分成两部分获取对应的结果
31 = 16 +8 + 4 + 2+1 = (11111)2
0.125 = (0.001)2
所以31.125转为二进制数为11111.001
14.定点数和浮点数的运算
12. 线性表
1) 包括顺序存储和链式存储
其中:
顺序存储: 无论序号i为和值,找到第i个元素所需要的时间相同。故这种结构称作随机存储结构
若adr(a1)=b为首地址,则adr(ai)=b + (n-i)*L.注:L为每个元素占用的存储地址
2)队列
引入缓冲区的目的:解决CPU和输入输出设备不匹配的情况。而缓存区的实现原理采用的队列方式即先来的先获取
循环队列问题
1. 队列为空的情况 Q.rear = Q.font = 0;
2. 入队列为满的情况 Q.font = (Q.rear+1)%MAXSIZE;
3. 出队列为空的情况 Q.rear = (Q.font + 1)%M;
3) 数组,数据的顺序存储结构分成三种
按行优先顺序存储
首地址Loc(a11),数组结构m*n,那么Loc(aij) = Loc(a11) + (i-1)*n + (j-1)
按列优先顺序存储
首地址Loc(a11),数组结构m*n,那么Loc(aij) = Loc(a11) + (j-1)*m + (i-1)
特殊矩阵存储
概念: 考虑非零元素进行压缩存储,故引入特殊矩阵存储概念
分成两种:
1)下三角矩阵的存储方式:
Loc(aij) = Loc(a11) + i*(i-1)/2 + (j-1)
或者
Loc(aij) = Loc(a00) + (i+1)*i/2 + j
2)三对角矩阵的存储方式:
Loc(aij) = Loc(a11) + 2(i-1) + (j-1)
或者
Loc(aij) = Loc(a00)+
2*i+j
13. 软件工程
软件工程目标:在开放成本和人员成本一定环境下,开放出符合用户需求的高质量产品。
软件危机的主要体现
1) 软件质量难以保证;
2) 开放成本增加;
3) 软件开放进度难以控制;
4) 软件维护更加困难;
什么是数据流图?其作用是什么? 其中基本符号表示什么含义?
数据流图:简称DFD(Data Flow Diagram),是结构化分析方法中表示系统逻辑模型的一种工具。
以图形的形式描述数据在系统中的流动和处理过程,只反映系统必须完成的逻辑功能,所以他是一种功能模型。
数据流图有四种基本符号:
“->”箭头表示数据流
“O”圆圈表示加工
“=”双杠表示数据存储
“”方框表示数据的源点或者终点
数据字典: 是结构化分析方法总另外一个重要工具,主要定义数据流图中各个成分含义的,以精确、无二义性的说明方式为系统分析、设计和维护提供定义和详细描述。
它和数据流图共同构成了系统的逻辑模型,是需求分析说明书的一部分。
数据字典帮助分析人员查找数据流图有关名称提供服务,就像字典一样,方便查询。
数据字典四类条目:数据流、数据存储、数据项、基本加工。其中数据项是数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字段中。
软件生命周期阶段:
1)可行性分析
2)需求分析
3)概要设计
4)详细设计
5)编码
6)测试
7)维护
软件文档大体包括:
1) 可行性分析研究报告
2) 项目整体开发计划
3) 需求分析规格说明书
4) 概要设计说明书
5) 详细设计说明书
6) 测试计划
7) 测试报告
8) 用户操作手册
9) 开发进度月报
10)项目开发总结报告
另: 软件文档作用:开发人员成果;提高开发效率;记录开发阶段的问题和建议;提供软件运行、维护、培训材料;让用户了解软件功能和用户界面。
14)数据库
1. 数据
库
概念
设计的主要步骤
(1) 数据抽象,设计局部概年模式
(2)局部概年模式综合成全局概念模式
(3)整理结构进行评审
2.数据管理的三个阶段
(1)人工管理阶段
(2)文件管理系统
(3)数据库系统
3.数据库的三种数据模型
(1) 层次模型
(2) 网络模型
(3) 关系模型
数据库的三级结构
(1)用户级
(2)概念级
(3)物理级
4. 数据库设计的主要步骤
(1)需求分析
(2)逻辑结构设计
(3)物理结构设计
(4)应用程序设计和测试
(5)性能程序测试和企业确认
(6)装配数据库
5. SQL语言的组成
数据定义语言、数据操作语言、数据控制语言、嵌入式SQL语言
另数据库提供给用户的接口: 数据库语言
6. 构造一个合适的数据逻辑结构是 关系数据库规范化理论 要解决的问题。
7. 在数据库中存储的是: 数据和数据之间的关系
15)计算机信息安全
(1)最常见的网络安全的保护工具是: 防火墙
16)计算机网络
网络互连的中间设备简称中继系统
(1) 转发器-物流城中继系统
(2) 网桥-数据链路层中继系统
(3) 路由器-网络层中继系统
(4) 网关-网络层以上的中继系统
计算机网络的常用拓扑结构有哪些?各有什么特点?
1. 总线拓扑
是一种普通采用的一种网络拓扑结构,它用一个信道作为传输媒体,所有的节点通过硬件接口连接到该信道上。
特点:利用率高,电缆数量少,结构简单,易于扩充。
2. 星星拓扑
一个节点为中央处理系统,中央节点通过点对点的通信链路连接到各个节点上。
优点:控制简单,结构简单;服务方便。任何节点都和中央节点相连。
缺点:一旦中央节点发生故障,整个局域网无法工作。
3. 环形拓扑
各个联网的计算机通过通信链路连接成一个闭合的环。
优点:电缆长度短,增加和删除节点容易,可以使用光纤,传输速度快,实用性强。
缺点: 一个工作站的故障可能会导致整个网络的瘫痪。
4. 树形拓扑
从总线型拓扑发展而来,就行一个倒挂的树,顶层是树根,树根下带有分支。
这种方式易于扩展,故障隔离容易。
5. 混合拓扑
任意两种拓扑结构组成的混合拓扑。
6. 网型拓扑
网络中的每个节点都和其他的任何节点相连。这种方式利用冗与连接,实现节点的容错性和高速传输
简
述在数据
传输
中,防止阻塞
产
生的
办
法
?
1. 通过点对点同步控制,保障计算机收发速率同步
2. 控制网络输入,避免突然大量的输入导致瘫痪
3. 接收工作站在接收报文之前,保留足够大的缓存空间。
简
述
调
制解
调
器的主要功能。
(1)信号放大
(2)数据传输过程防止干扰
(3)信源和信宿同步
(4)实现信道多路复用
OSI工7层模型
(1)物理层:
传输数据的比特流
(2)数据链路层:以帧为单位进行数据传输
(3)网络层:路由选择
(4)传输层
(5)会话层
(6)表示层:解决用户信息的语法问题
(7)应用层:直接为用户提供服务
TCP/IP的四层模型
(1)网络接口层: 负责接收IP数据冰通过网络转发
(2)网络网间层:主要IP、ICMP、ARP。
(3)传输层:提供可靠性传输。 TCP UDP
(4)应用层: 文件传输控制、远程登录、电子邮件、名称服务等 -->Telnet SMTP FTP
简述局域网的特点
。
(1)网络覆盖范围有限
(2)传输速率高
(3)误差小
(4)配置简单
(5)拓扑结构有规则
TCP/IP:由两部分所组成的,其中TCP是传输控制协议,IP是网络协议
17)操作系统
1. 什么是进程?进程和程序的区别是什么?
一个进程是一个程序在数据集的执行过程,是分配资源的基本单位。
(1) 进程是一个动态的概念,强调的是执行过程,要经历进程动态创建、进程的调度、进程的消亡。
(2) 进程是程序的执行过程,所以程序是进程的一部分。
区别:
如果进程存在必有程序存在。但程序是静态的,凡未建立进程的程序都不能作为一个独立的单位参与运行。当程序被处理处理执行时,
它一定属于一个或多个进程。
一个程序可以建立多个进程。
2.
简述计算机中存储器的作用,内存、外存和高速缓冲存储器各自的特点是什么
计算机中存储器的作用:存储当前程序和数据。
内存:速度快、成本高,CPU可直接访问
外存:速度慢、成本较,容量最大,CPU不能直接访问,需要把数据先从外存调入到内存后CPU才能访问。
高速缓存:速度更快、成本更高、容量最小,位于CPU和内存之间
3. 文件系统为什么要实现“按名存取”?
(1) 方便用户
(2)实现文件存储空间的 组织、分配和信息存储,并且对文件提供保护和有效检索
4. 操作系统提供的工作界面
(1)命令行界面
(2)图形用户界面