计算机科学导论

第八章 算法

算法:算法是一组明确步骤的有序集合,它产生结果并在有限的时间内终止。

要点有四:

1 有序集合

2 明确步骤

3 产生结果

4 在有限的时间内终止

三种结构:顺序,选择,循环。

算法的表示:流程图,伪代码。

第九章 程序设计语言

演化:机器语言-符号语言-高级语言

构建程序:编写和编辑程序-编译程序-用所需的库模块链接程序

语言的分类:

1 过程化语言:(1)FORTRAN;(2)COBOL;(3)Pascal; (4)C;(5)Ada

2 面向对象语言:(1)C++; (2)Java

3 函数型语言: (1)LISP ;(2)Scheme

4 说明性语言: (1)prolog

5 专用语言:(1)HTML

第十章 软件工程

软件工程:利用合理的工程方法和原则来获得在真实机器上工作的可靠软件。

分析-设计-实现-测试

分析阶段:

定义用户-定义要求-定义需求-定义方法-

设计阶段:1 模块化 2 工具

实现阶段:

1 工具:流程图,伪代码

2 编码

测试阶段:

(1)黑盒:测试功能,由需求出发

(2)白盒:测试逻辑,每条指令,每个情况都要测试

模块化:

工具:UML

耦合:

(1)数据耦合:只从调用函数向被调用函数传递最少的需求数据;

(2)特征耦合:参数是数组或结构这样的复合数据;

(3)控制耦合:传递标志,指示函数的逻辑流程;

(4)全局耦合:用全局变量传递两个或两个以上的函数通讯;

(5)内容耦合:直接引用另一个函数的数据或语句。

内聚:

(1)功能内聚:只包含一个处理过程;

(2)顺序内聚:包含两个或多个紧密联系的任务;

(3)通信内聚:将使用同一数据的处理过程合并;

(4)控制内聚:由控制流程控制的不相关的处理过程;

(5)瞬时内聚:合并了总在一起发生却不相关的处理过程

第十一章 数据结构

这一章只介绍三种:数组,结构,链表。

第十二章 抽象数据类型

抽象数据类型:

1.数据的声明

2.操作的声明

3.封装数据和操作

线性列表:

1.广义表:(1)有序列表;(2)无序列表

2.限制列表:(1)队列;(2)堆栈

二叉树

第十三章 文件结构

文件是作为单元看待的相关数据的外部集合

存取方法:

1.顺序存取:顺序文件结构

2.随机存取:(1)索引文件;(2)哈希文件

更新顺序文件:

(1)旧主文件

(2)新主文件

(3)事务文件:包含要对主文件做的修改:ADR添加删除修改

(4)错误报告文件

索引文件:索引将键映射到地址

(1)数据文件;

(2)索引

哈希文件:用一个函数来完成映射,不需要索引。

哈希方法:(1)直接法(2)求模法(3)数字析取法

冲突:两个不同的记录计算得到相同地址时发生

解决办法:

(1)开放寻址:主区地址将查找开放的或空闲的记录来存放新数据

(2)链表解决法:第一条记录包含指向下一条记录的指针

(3)桶哈希法:哈希到桶。桶能容纳多个记录的节点

文本文件和二进制文件:

文本文件是按字节编码的,也就是定长编码,怎么解释已经确定。

二进制文件是按值编码的,自定义编码,根据具体应用指定某个值的意思。

你可能感兴趣的:(计算机科学导论)