1.栈和队列Queue:
后进先出
先进先出
循环队列 空队列 队列满了 元素入队、出队
队列链式存储
串:字符串 存储结构(顺序存储结构、链式存储)
2.数组:
(1)定长线行表 维数 拓展,即线性表中的元素又是一个线性表
N 维数组是一种“同构”的数据结构,每个元素 类型相同、结构一致。
(2)数组结构特点:
1.数目固定 定义数组结构,不再元素个数的增减变化
2.数据元素具有相同的类型
3.下标关系具有上下界的约束且下标有序
4.两个基本运算:
① 存取相应的数据元素
② 修改相应的数据元素中某个数据项的值
3.矩阵:
在数据结构中,目的为了节省存储控件的情况下使矩阵的各种运算能高效地执行
稀疏矩阵:值相同的元素或0元素在矩阵中的分布有一定的规律,则称此类为特殊矩阵,否则称其为稀疏矩阵。
4.广义表:
由0个单素表或者多个子表组成的而有限序列
查找、插入、删除等操作
基本操作:取表头,取表尾
5.树:
非线性结构,一个数据元素有两个或两个以上的而直接后继元素,描述客观世界中广泛存在的层次结构关系
基本概念:
双亲、孩子和兄弟
结点的度
叶子结点
内部结点
结点的层次
树的高度
有序(无序)树
树的存储结构:双亲、孩子、孩子兄弟表示法
树和森林遍历:
先根、后根遍历
先序、中序遍历森林
树、森林和二叉树的相互转换:
任何一个森林或一棵树可以对应表示为一颗二叉树,而任何一颗二叉树也可能对应到一个森林或一棵树上。
6.遍历二叉树:
访问特点是无论按照哪种次序遍历,对于含有n个结点的二叉树,遍历算法的时间复杂度都是O(n)。
过程:实质上是按一定的规则将树中的结点排程一个线性序列的过程,遍历得到的是树中结点的一个线性序列。
7.线索二叉树:
实质是对一个非线性结构进行线性化的过程
左孩子,右孩子
8.最优二叉树:哈夫曼树,一类带权路径长度最短的书
9.哈夫曼编码:
长编码:对每个字符编制相同长度的二进制的统称(缺点电文的码串过长,不利于提高通信效率,因此希望缩短码串的总长度)
10.死锁:产生、解决的方式(预防,避免,检测,解除)
11.线程:
三个状态:就绪,运行和阻塞
两个类型:用户级线程,内核支持线程
12.存储器:
13.虚拟地址,地址空间和存储空间
14.分区存储管理:固定分区,可变分区(四个算法:最佳适应法,最差适应法,首次适应法,循环首次适应法),可重定位分区。
15.分页存储管理:
纯分页存储管理(分页管理,地址结构,页表)
16.快表:
地址映射机构中新增一个小容量的联想存储器,联想存储器由一组高速存储器组成,称为快表。
17.软件过程模型:
瀑布模型(需求分析-设计-编码-测试-运行与维护)
18.需求分析:
功能需求、性能需求、用户或人的因素、环境需求、界面需求、文档需求、资源使用需求、安全保密要求、可靠性要求、软件成本消耗和开发进度需求、其他非功能性要求。
系统测试:
1.单元测试:
(1)模块接口
(2)测试模块的输入参数的形参在个数、属性和单位上是否一致
(3)调用其他模块,所给出的实际采纳数和被调参数在个数、属性是否一致
(4)调用标准函数时,所用的参数在属性、数目和顺序上是否正确
(5)全局变量在各模块中的定义和用法是否一致
(6)输入是否仅改变了形式参数
(7)开/关的语句是否正确
(8)规定的I/O格式是否与输入/输出语句一致
(9)在使用文件之前是否已经打开文件或使用文件之后是否已经关闭文件
2.局部数据结构(常见错误):
(1)变量的说明是否合适
(2)是否使用了尚未赋值或尚未初始化的变量
(3)变量的初始值或默认值是否正确
(4)变量名是否有错(例如拼写错)
3.重要执行路径:计算方面的错误,比较和控制流的错误,出错处理,边界条件
19.测试web应用:
质量维度(内容、功能、结构、可用性、导航性、性能、兼容性、安全性)
20.黑盒子测试:
也称为功能测试
① 是否有错误的功能或遗漏的功能
② 界面是否有无?输入是否正确接收?输入是否正确?
③ 是否有数据结构或外部数据库访问错误?
④ 性能是否能够接受?
⑤ 是否有初始化或终止性错误?
测试技术的划分:等价类划分
调试方法:试探法,回溯法,对分查找法,归纳法,演绎法
21.系统维护应执行步骤:
① 提出维护或修改要求
② 领导审查并作出答复
③ 领导分配任务,维护人员执行修改
④ 验收维护成果并登记修改信息
22.项目管理:
(1)明确目标及过程
(2)保持动力
(3)跟踪进展
(4)做出明智的决策
(5)进行事后分析
23.进度管理:划分,相互依赖,时间分配,工作量确认,确定责任,明确输出结果,确认里程碑
24.甘特图:
25.有向图:
26.软件配置项:
① 系统规格说明书
② 软件项目实施计划
③ 软件需求规格说明书
④ 设计规格说明书(数据设计、体系结构设计、模块设计、接口设计、对象描述(使用面向对象技术时))
⑤ 源代码清单
⑥ 测试计划和过程、测试用例和测试结果记录
⑦ 操作和安装手册
⑧ 可执行程序(可执行程序模块、连接模块)
⑨ 数据库描述(模式和文件结果、初始内容)
⑩ 用户手册
⑪ 维护文档(软件问题报告、维护请求、工程变更次序)
⑫ 软件工程标准
⑬ 项目开发小结
27.软件质量:
28.面向对象软件测试:
算法层,类层,模板层,系统层
29.用例图:
30.交互图:用于对系统的动态方面进行建模
穷举算法:
题目:从67**8 中找出能整除67 和78的数
For(let i = 67008; i < 67998; i++){
If(i % 67 == 0 && i % 78 == 0)
Console.log(i);
}
31.算法设计与分析:
算法特性:有穷性,去定性,可行性,输入,输出
32.算法分析
算法的表示:自然语言,流程图,程序设计语言,伪代码
时间复杂度
空间复杂度
33.递归树:
34.递归两要素:边界条件(递归出口),递归模式(递归体)
35.阶乘函数
36.分治法:
与递归像一堆孪生兄弟
经常出现在算法设计中,由此产生许多高效算法
设计思想: 将一个难以直接解决的大问题分解成一些规模较小的相同问题,以便各个击破,分而治之。
分治算法在每一层递归上有三个步骤: 分解,求解,合并
归并排序:将待排序的元素分成大致相同的两个子序列,分别对这两个子序列进行排序,最终将分好序的自序合并为所要求的序列。
37.动态规划算法:
与分治算法类似,但经过分解得到的子问题往往不是独立的,通常用于求解具有某种最优质的的问题。在这类问题中,可能会有许多可行解,每个解都对应一个值,我们希望找到具有最优值(最大值最小值)的那个解。
设计步骤:
(1)找出最优解的性质,并刻画其结构特征
(2)递归地定义最优解的值
(3)以自底向上的方式计算出最优解
(4)根据计算最优值时得到的信息,构造一个最优解
动态规划法是一个非常有效的算法设计技术。两大性质:最优子结构,重叠子问题
38.贪心算法:最简单
解决最优化问题,局部最优化
39.回溯法:
通用的解题法。可以系统地搜索一个问题的所有解或者任意解
步骤:
(1)针对所给问题,定义问题的解空间
(2)确定易于搜索的解空间结构
(3)以深度优先的方式搜索解空间
两种算法框架:递归和非递归
回溯法的界限函数:(回溯法的可新问题,也是难问题)
问题的解空间往往很大,为了有效滴进行搜索,需要再搜索的过程中对某些结点进行剪枝,而对哪些结点进行剪枝,需要设计限界函数来判断。
40.分支限界法:
求解目标是找出满足约束条件的一个解
如何设计衔接函数来有效的减小搜索空间是应用分支限界法要考虑的问题
类型:队列式分支限界法、优先队列分支限界法
41.概率算法:
(1)基本特征:
① 输入包括两部分:一部分是原问题的输入,另一部分是一共供算法进行随机选择的随机数序列
② 运行中,包括一处或多处随机选择,根据随机值来决定算法的运行路径
③ 结果不能保证一定是正确的,但能限制其出错概率
④ 在不同的运行过程中,对于相同的输入实例可以有不同额结果,因此对于相同的输入实例,概率算法的执行时间可能不同
(2)四大类:
① 数值概率算法:数值问题
② 蒙特卡罗算法:求问题的精确解
③ 拉斯维加斯算法:不会得到不正确的解
④ 舍伍德算法:总能求得问题的一个解,切所求得的解总是正确
42.近似算法:
解决难解问题
基本思想是放弃求最优解,近似最优解代替最优解
衡量标准:算法的时间复杂度、解的近似程度
43.数据挖掘算法
功能:分类、回归、关联规则和聚类
44.数据模型:
层次模型,网状模型,关系模型和面向对象模型
45.关系代数
关系数据库
46.属性:
描述一个事务常常取若干特征来表示,这些特征称为属性
47.关系的完整性分类:
实体完整性、参照完整性(引用完整性)和用户定义完整性
48.关系代数运算符:
集合运算符、专门的关系运算符、算数比较符合逻辑运算符
49.5种基本的关系代数运算:
并、差、笛卡尔积、投影和选择
拓展的关系代数运算:
选择、投影、连接(0连接、等值连接和自然连接)、触发、广义笛卡尔积和外连接
50.数据库技术基础
(1)聚集函数:
(2)关系型数据库设计:
设计满足适当范式的模式,可以通过判断分解后的模式达到几范式来评价模式规范化的程度。
(3)1NF(第一范式):
若关系模式R的诶个分量是不可再分的数据项,则关系模式R属于第一范式。
问题:
① 冗余度大
② 引起修改操作的不一致性
③ 插入异常
④ 删除异常
(4)2NF(第二范式):
当1NF消除了非主属性对码的部分函数依赖,则称为2NF
(5)3NF(第三范式):
2NF消除了非主属性对码的传递函数依赖
51.数据库备份与恢复:
① 故障类型:事务内部故障、系统故障、介质故障及计算机病毒。
② 备份方法:简历数据冗余(重复存储),进行数据转储(静态转储、海量转储和增量转储、日志文件)和登记日志文件
52.并发控制:
(1)带来的数据不一致性有三类:丢失修改、不可重复度和读脏数据
(2)并发控制技术:
① 封锁:
排它锁。(若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他事务都不能再对A加任何类型的锁,知道T释放A上的锁)
共享锁。(若事务T对数据对象A加上S锁,则只允许T读取A,但不能修改A,其他事务只能再对A加S锁,知道T释放A上的S锁。这就保证了其他事务读A,但在T释放A上的S锁不能对A进行任何修改)。
② 三级封锁协议:防止丢失修改和不读“脏”数据歪,还进一步防止不可重复度
③ 活锁与死锁:活锁-永远等待锁释放,死锁-两个以上的事务分别请求封锁对方已经封锁的数据,导致长期等待而无法继续运行下去的现象。
53.并发调度的可串行性:
多个事务的并发执行是整错的,当且仅当其结果与某一次序串行滴执行他们时的结果相同,称这种调度策略是可串行化的调度。
54.两端分锁协议:
事务必须分两个阶段对数据项枷锁和解锁。
即事务分两个阶段:第一,获得封锁,不能释放。第二阶段是蜂房封锁,但不能申请
55.封锁的粒度:
封锁对象的大小。
封锁的对象:逻辑单元(如属性、元组、关系、索引项、整个索引甚至整个数据库),也可以是物理单元(如数据页或索引页)
网络与信息安全基础知识
56.计算机网络的主要功能:
① 数据通信
② 资源共享
③ 负载均衡:
④ 当网络中的某台计算机任务过重时,可将任务分派给其他空闲的多台计算机,使多台计算机相互协作,均衡负载,共同完成任务。
⑤ 高可靠性: 备用机,解决计算机出现故障而导致系统瘫痪的现象,从而大提高了系统的可靠性
57.计算机网络的分类:
通信距离:广域网、局域网和城域网
信息交换方式:电路交换网、分组交换网和总和交换网
网络拓扑结构:星型网、树形网和总线网
通讯截止:双绞线网、同轴电缆网、光纤网和卫星网
传输带宽:基带网和宽带网
使用范围:公用网和专用网
速率:高速网、中速网和低速网
通信传播:广播式和点到点式
局域网:
① 传输距离有限
② 传输速度较高
③ 数据传输可靠,误码率低
④ 拓扑结构简单、简介,大多采用总线、星线和环型等,系统容易配置和管理。网上计算机一般采用多路控制访问技术或令牌技术访问信道。
⑤ 网络的控制一般趋向于分布式,从而减少对某个结点的依赖,避免并减小了一个结点故障对整个网络的影响。
⑥ 网络归单一组织锁拥有和使用,不受任何公共网络管理机构得到规定约束,容易进行设备的更新和新技术的应用,以不断增强网络功能。
58.城域网:
规模介于局域网和广域网的一种较大范围的高速网络,一般覆盖临近的多个单位和城市,从而为介入网络的企业、机关、公司及社会单位提供文字、声音和图像的集成服务。城域网规范由IEEE802.6协议定义。
59.广域网:
① 又称远程网,覆盖范围广、传输速率相对较低、以数据通信网诶主要目的地额数据通信网。
② 主要特点:
③ 分布范围广
④ 数据传输率低
⑤ 数据传输的可靠性随着传输介质的不同而不同
⑥ 借用传统的公共传输网来实现(因为单独建造一个广域网极其昂贵)
⑦ 拓扑结构较为复杂,大多采用“分布式网络”
60.网络的拓扑结构:
① 总星线结构
② 星型结构
③ 环形结构
④ 树形结构
⑤ 分布式结构
61.ISO/OSI网络体系结构:
① 物理层
② 数据链路层
③ 网络层传输层
④ 会话层
⑤ 表示层
⑥ 应用层
特性:
A.异构系统互连的分层结构
B.提供了控制互连系统交互规则的标准框架
C.定义了一种抽象结构,而并非具体实现的描述
D.不同系统上相同层的实体称为同等层实体
E.同等层实体之间的通信由改层的协议管理
F.相邻层间的接口通信由该层的协议管理
G.相邻层间的接口定义了原语操作和底层向高层提供的服务
H.锁提供的公共服务是面向连接到或无连接的数据服务
I.直接的数据传送仅在最低层实现
J.每层完成所定义的功能,修改本层的功能并不影响其他层
OSI/RM 1~3层 负责通信子网层 5~7层 资源子网层 传输层起着衔接上、下层的作用
62.互连设备:
物理层:中继器和集线器
数据链路层:网桥和交换机
网络层:路由器
应用层:网关
63.网络的传输介质:
有线介质:双绞线、同轴电缆
无线介质:微波、红外线和卫星通信等
64.组建网络:
服务器(server核心)
客户端(client 用户工作站)
网络设备:硬件设备,如网卡,收发器、中继器、集线器、网桥和路由器等
通信介质:数据的传输媒体
网络软件:底层协议软件,网络操作系统NOS等
65.TCP/IP 协议族:
Internet的核心协议
主要特性:
① 逻辑编址
② 路由选择
③ 域名解析
④ 错误检测和流量控制
66.TCP/IP分层模型
TCP/IP分层模型: 应用层、传输层、网络层和网络接口层
67.传输层协议–TCP:
TCP/IP协议族中最中最重要协议之一
在IP提供的不可靠数据服务的基础上为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务
三次握手确认简历和管理是否成功
68.传输层协议—UDP:
用户数据报协议:不可靠的、无连接的协议,可以保证应用程序进程间的通信。
网络十分可靠的情况下,则采用UDP,通信量的浪费就会很小
69.应用层协议:
NFS、Telnet、SMTP、DNS、SNMP和FTP等
70.域名:
用户所在主机的名字或地址。
域名格式:由若干部分组成,每个部分又称子域名,之间用“.”分开
一个完整、通用的层次性主机域名组才能:计算机主机名,本地名,组名,最高层域名(www.baidu.com)
71.IP地址:
Internet地址是按名字来描述,这种地址表示方式易于理解和记忆
主机IP地址来唯一标识
每个IP由4个小于256的数字组成
72.域名服务
DNS是一种分布式地址信息数据库熊,服务器包含整个数据库的某部分信息,并供客户查询。
DNS允许局部控制整个数据库的某些部分,但数据库的每一部分都可通过全网查询得到
域名服务器可以分为主服务器、Caching Only服务器和转发服务器
一个用户A在查找另一用户B时,域名的工作过程如下:
(1)解析向本地域名服务器发出请求查阅用户B的域名
(2)本地域名服务器向最高层域名服务器发出查询地址的请求
(3)最高层域名服务器返回给本地域名服务器一个IP地址
(4)本地域名服务器向组域名服务器发出查询地址的请求
(5)组域名服务器返回给本地域名服务器一个IP地址
(6)本地服务器返回的域名服务器发出查询域名地址请求
(7)IP地址返回给本地域名服务器
(8)本地域名服务器将改地址返回给解析器
73.WWW(World Wide Web,万维网)服务:
① 交互式图形界面 Internet服务,具有强大的信息连接功能
② 最受欢迎的、增长速度最快的一种多媒体信息服务系统
③ 分布的超文本,这些信息结点可以是文本、子目录或信息指针
④ WWW浏览程序为用户提供基于超文本传输协议的用户界面
⑤ 数据文件由超文本标记语言描述,html利用统一资源定位器(URL)的指标是超媒体连接,并在文本内指向网络资源。
74.Scheme指定服务连接的方式(协议):
75.文本传输协议:
① 匿名(anonymous)FTP服务,提供公众使用,共享主机对公众开房的资源。匿名FTP服务特殊的用户名—anonymous。
② FTP在客户端与服务器的内部建立两条TCP连接:
控制连接:主要用于出书命令和参数(端口为21)
数据连接:用于传送文件(端口为20)
信息安全基础知识:
机密性、完整性、可用性、可控性和可审查性
信息的存储安全包括信息使用的安全(如用户的标识与验证、用户存取权限限制、安全问题跟踪等)、系统安全监控、计算机病毒防止、数据的加密和防止非法的攻击等。
数据加密: