1、1第一章1.1 什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。我们把这些数据收集起来,经过处理后,即得到人们需要的信息。信息和数据的关系可以归结为:1. 信息是有一定含义的数据。2. 信息是经过加工(处理)后的数据。3. 信息是对决策有价值的数据。1.2 信息有哪些基本属性?信息的基本属性有:1. 事实性。2. 等级性。3. 可压缩性。4. 可扩散性。5. 可传输
2、性。6. 共享性。7. 增值性和再生性。8. 转换性。1.3 计算机的主要特点是什么?计算机最主要的特点是:1. 高速自动的操作功能。2. 具有记忆的能力。3. 可以进行各种逻辑判断。4. 精确高速的计算能力。1.5 完整的计算机系统应该包括哪几部分?目前最完整的计算机系统学说认为由五部分组成:1. 人员2. 数据3. 设备4. 程序5. 规程1.6 什么是计算机硬件?什么是计算机软件?硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。计算
3、机软件一般分为系统软件和应用软件。1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?2第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。第二阶段:结构程序设计阶段特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。程序设计方法论方面,提出由顶向下法和自底向上法。使程序模块化,使问题的复杂性和人的思维统一起来了。出现了软件生产管理。 硬件关系:
4、磁盘问世,操作系统发展,非数值计算应用发展,通信设备完善,网络发展,集成电路发展等使软件复杂性增加产生软件危机,在此背景下发展了软件技术。第三阶段:自动程序设计阶段特点:向集成化、一体化发展。出现了软件开发环境。程序设计基本方法进一步改进。硬件关系:集成电路迅速发展以及高分辨率终端的出现,为个人计算机发展提供了条件,再加上人工智能、专家系统研究的发展,使程序设计进入成熟期。第二章2.1 什么是数据结构?它对算法有什么影响?数据结构是指同一数据对象中各数据元素间存在的关系。对算法是影响:算法的实现必须借助程序设计语言中提供的数据类型及其运算。一个算法的效率往往与数据的表达形式有关,因此数据结构的
5、选择对数据处理的效率起着至关重要的作用。它是算法和程序设计的基本部分,它对程序的质量影响很大。2.2 何谓算法?它与程序有何区别?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。计算机算法是通过计算机能执行的算法语言来表达的。和程序的区别:一个程序包括两个方面的内容:(1)、对数据的描述,即数据结构。(2)、对操作的描述,即算法。所以算法是程序的一个要素。2.3 何谓频度,时间复杂度,空间复杂度?说明其含义。频度:在某个算法中某个语句被重复执行的次数就是此语句的频度。时间复杂度:是用来估算一个算法的执行时间的量,以算法中频度最大的语句来度量。空间复杂度:指在算法中所需的辅助空间的单
6、元,而不包括问题的原始数据占用的空间。2.6 数据的存储结构主要有哪两种?它们之间的本质区别是什么?数据的存储结构:向量和链表。3本质区别:向量是连续存放的,其存储空间是静态分配的,以存放顺序来表达元素的前后件的关系。链式存储结果不需要一组连续的存储单元,其数据元素可以分散存放在存储空间中,其元素关系由指针来指向。2.16 试比较顺序表和链表的优缺点。1. 线性表的长度是否固定方面:由于向量的存储空间是静态分配的,链表的存储空间是动态分配的,因此若表长不固定时采用线性链表较好。2. 线性表的主要操作是什么:由于向量是连续存放的,所以适用于查找操作,不适用插入、删除操作。由于线性链表只能顺序存取
7、,所以适用于插入、删除操作,不适用于查找操作。3. 采用的算法语言:线性链表要求所使用的语言工具提供指针类型变量。2.17 试比较单向链表与双向链表的优缺点。1. 单向链表只能单方向地寻找表中的结点,双向链表具有对称性,从表中某一给定的结点可随意向前或向后查找。2. 在作插入、删除运算时,双向链表需同时修改两个方向上的指针,单向链表则简便些。2.23 试画出表达式 A*(B-D)/D+C*(E*F)执行过程中 NS,OS 栈的变化情况。B-D=T1 D/T1=T2 T2*A=T3 E*F=T4 T4*C=T5 T5+T3=T62.26 用三元组和带行辅助向量 形式表示下列稀疏矩阵:(1): (
8、2):02809631150253060217400423356015618D )B -(*A ; D /T1 *A ; C +T2 *A ; )F *E (*C +T3 ; ;T4 *C +T3 ; ;T5 +T3 ; ;T6 ;4(1):三元组 带行辅助向量行 列 值1 1 151 4 221 6 -152 2 112 3 33 4 -65 1 916 3 28(2): 三元组 带行辅助向量行 列 值1 1 81 5 -131 9 262 1 152 4 62 8 53 2 -33 4 43 6 34 4 24 8 45 3 -126 2 27 4 48 1 79 1 129 4 29 6
9、 69 9 30i 1 2 3 4 5 6POS 1 4 6 7 7 8NUM 3 2 1 0 1 1i 1 2 3 4 5 6 7 8 9POS 1 4 7 10 12 13 14 15 1652.27 试说明树与二叉树有何不同?为何要将一般树转换为二叉树?树与二叉树区别:树是由 n 个(n=0 )结点组成的有限集合 T,其中有且仅有一个结点称为根结点,在此类元素结点之间存在明显的分支和层次关系。二叉树是一种特殊的树结构,每一个结点最多只有两个孩子,即最多只有两个分支。为何要转换:一般树,树中结点次序没有要求,分支庞杂。而二叉树,元素之间存在严谨的前后代关系,在对数据元素进行删除、查找、插入
10、等运算时更加有效率。2.28 将下列(题图 2.3)的一般树化为二叉树。D E F I JKGLAB C题图 2.3转换后:DEFIJKGLABC2.30 设一棵二叉树其中序和后序遍历为中序:BDCEAFHG NUM 3 3 3 2 1 1 1 1 46后序:DECBHGFA画出这棵二叉树的逻辑结构,并写出先序遍历结果。先序遍历:ABCDEFGH其逻辑结构如下:AB FCD EGH2.33 定一组权值 W=8, 2,5,3,2 ,17,4 ,画出由此生成的哈夫曼树。设:8 2 5 3 2 17 4 C D E F GA生成的哈夫曼树为:CDEFGAB第三章3.1 操作系统的基本功能是什么?它包
11、括哪些部分?B7基本功能: 操作系统应该具有处理器管理,存储管理,设备管理和文件管理功能,同时,为了使用户能方便地使用机器,操作系统还应提供用户接口功能。构成部分: (1). 对 CPU 的使用进行管理的进程调度程序 。(2 ). 对内存分配进行管理的内存管理程序。(3 ) . 对输入输出设备进行管理的设备驱动程序。(4 ) . 对外存中信息进行管理的文件系统。3.2试说明虚拟机的概念以及实现的方法。在裸机外面每增加一个软件层后就会变成一台功能更强的机器,我们通常把这种计算机系统称为虚拟机。 虚拟机的实现方法:在裸机上装上操作系统对机器进行首次扩展,再在操作系统的基础上增加其他软件,这样就可以
12、实现“虚拟机”。3.3 通常操作系统有哪几种基本类型?各有什么特点及适用于何种场合?三大类:(1)多道批处理系统:计算机内存中同时可以存放多道作业,用户与作业之间没有交互作用,用户不能直接控制作业的运行。此类系统一般用于计算中心等较大型的计算机系统中。(2)分时系统:多个用户通过终端分享同一台计算机,并通过终端直接控制程序运行,进行人与机器之间的交互。此类系统适用于程序的开发。(3)实时系统:对外部发生的随机事件作出及时的响应,并对它进行处理。此类系统一般用于工业控制系统或事物处理系统。3.4 试说明你所使用过的操作系统的类型和特点。Windows 系统:多用户多任务操作系统。特点:全新的、友
13、善的用户界面。提供了功能强大的应用程序。具有多任务并行处理能力,各种应用程序之间可以方便地进行切换和交换信息。具有强大的内存管理能力,支持扩展内存功能,提高系统运行效率。3.5 解释名空间、作业地址空间和存储空间的关系以及逻辑地址和物理地址的区别。存放源程序的空间称为名空间。当汇编或编译程序将源程序转换成目标程序后,一个目标程序所占有的地址范围称为地址空间,这些地址的编号是相对于起始地址而定的,一般定起始位零,称为逻辑地址或相对地址。存储空间是指当目标程序装入主存后占用的一系列物理单元的集合,这些单元编号称为物理地址或绝对地址。3.6 什么是重定位?静态重定位和动态重定位的区别是什么?各举一例
14、说明。当用户程序要调入内存时,必须把相对地址转换为绝对地址,同时要包括对程序中与地址有关的指令进行修改,这一过程称为重定位。静态重定位是在程序装入时进行,一般通过处理机中一对界地址寄存器来实现。动态重定位是在程序执行过程中进行的,当处理器访问主存指令时由动态变换机构自动进行地址转换。3.7 存储管理器的功能是什么?为什么要引入虚拟存储器的概念?虚存的容量由什么决定?8存储管理的功能主要分为:内存分配、地址转换、存储保护和内存扩充。虚拟存储器能提供给用户一个比实际内存大得多的存储空间,使用户在编制程序时可以不必考虑存储空间的限制。虚存的容量受两个条件约束:指令中地址场长度的限制、外存储器容量的限
15、制。3.10 什么是作业、作业步和进程?作业是用户在一次算题过程中或一个事务处理中要求计算机系统所做的集合。一个作业是由一系列有序的作业步所组成。一个作业步运行的结果产生下一个作业步所需的文件。进程可以看成是程序的一次执行,即是在指定内存区域的一组指令序列的执行过程。3.11 处理器管理主要解决什么问题?在大型通用系统中,可能数百个批处理作业存放在磁盘中,又有数百个终端用户与主机联接,如何从这些作业中挑选一些作业进入主存运行,又如何在主存各进程间分配处理器,是操作系统资源管理的一个重要问题,处理器管理就是用来解决此问题的。3.12 什么是进程的同步和互斥?什么是临界区?“同步”是指两个事件的发
16、生存在某种时序上的关系,如果系统中有若干个进程要共同完成某一任务,那么它们相互之间必须协调配合。“互斥”是指当多个进程要求共享系统中某些硬件或软件资源,而这些资源却又要求排它性使用时,这样往往引起由于多个进程竞争同一资源使运行结果出现问题。如果在两个进程 P1、P 2 中加入 P、V 操作后,可以实现对公用变量count 的互斥使用。其中 P(s )、V (s )之间的程序段称为临界区。3.15 进程间的通信可以由哪些方式进行?低级通信方式:P-V 操作。高级通信方式:直接通信、信箱通信。3.16 死锁产生的必要条件是什么?死锁的预防、避免和检测各有什么不同?各举一种相应的方法。死锁产生的必要
17、条件有:1.所涉及的资源是非共享的;2.进程在等待新资源时,继续占用已分配到的资源;3.一个进程占有的资源不能被别的进程强行抢占;4.一个进程获得的资源同时被另一个进程所请求,从而形成一个进程的循环链。死锁的预防是研究如何破坏产生死锁的必要条件之一,从而达到不使死锁发生地目的。死锁的避免与死锁的预防区别在于,死锁的预防是严格破坏形成死锁的必要条件之一,使得死锁不在系统中出现。预防方法之一,采用假脱机技术将非共享设备变成共享设备来实现。而死锁的避免并不严格限制必要条件的存在,因为必要条件存在并不一定产生死锁。而进程推进顺序不当,也可以导致系统发生9死锁,因此死锁的避免是考虑万一当死锁有可能出现时
18、,就小心地避免这种情况的最终发生。避免方法有采用相应的银行算法和方法。死锁的检测和恢复,这是一种变通的方法,它允许死锁的发生,但能在适当时间检测出来,并设法进行恢复。利用化简进程-资源有向图的方法来检测系统在某一特定状态时是否处于死锁状态。3.17 通道、控制器和设备的各种不同连接方式各有什么特点?第一种连接方式(书中图 3.41(a):控制器与设备是一一对应的,当系统对某设备提出申请时,CPU 将设备号及有关操作要求传递给通道,由通道启动该设备,并完成对该设备的操作。第二种连接方式(书中图 3.41(b ):是一个控制器控制若干个设备,只有当被申请的设备及相应的控制器均为空闲状态时才能启动。
19、第三种连接方式(书中图 3.41(c):是同道、控制器与设备交叉连接,提高了控制的灵活性,但必须在相应的设备、控制器、同道均为空闲时才能工作。3.18 什么是“瓶颈”问题?引入缓冲区为何可以解决这一问题?系统中的独占类型设备,只能由单个作业独占,这样使其他需要改设备的进程由于等待设备而被阻塞,称为系统的“瓶颈”。缓冲技术是指在内存中划出一个由 n 个单元组成的区域,称为缓冲区,作为外部设备在进行数据传输时的暂存区。引入缓冲技术的根本原因是 CPU 数据处理速度与设备传输数据速度不相匹配,利用缓冲区来缓解其间的速度矛盾,减少瓶颈现象。3.19 设备管理的功能是什么?怎样把一台物理设备虚拟为多台设
20、备?设备管理的功能:设备驱动程序;即插即用;通用即插即用;集中、同一管理;添加硬件。通过虚拟机软件,就可以在一台物理计算机上模拟出一台或多台虚拟的计算机。3.20 什么是记录、文件、文件系统?记录:文件由若干个记录组成,每一个记录是一些相关信息的集合。文件:在逻辑上具有完整意义的数据或字符序列的集合。文件系统:负责存取和管理文件的机构,又称为文件管理系统。3.21 文件的逻辑结构和物理结构有何区别?文件的存储方式与文件的存取有何关系?文件的逻辑结构是从用户的角度看到的文件面貌,也就是它的记录结构。文件的物理结构是指一个逻辑文件在外存储器上的存放形式。各种文件应用场合不同,对文件的存取要求也就不
21、同,对应不同的存取方式,对文件的物理结构即存储方式有不同的要求3.22 什么是文件目录?有几种目录结构形式?各有什么特点?10为了便于对文件进行存取和管理,所有计算机系统都设置一个文件目录,每个文件目录中都有一个表目,存放描述该文件的有关信息。通常有一级目录、二级目录和多级目录结构。一级目录:把系统中所有文件都建立在一张目录表中,整个目录结构是一个线性表,所以查找的时间会增加,不允许用户对不同的文件取相同的名字,主要用于单用户的操作系统中。二级目录:在主目录文件中每一个用户有一个表目,指出各用户文件目录的所在位置,而各用户文件目录才指出其所属各具体文件的描述信息,不同用户的文件可以起相同的名字
22、。多级目录:是树形结构,每一个结点出来的分支可以是文件,也可以是下一级,在一定时间内以某一级目录作为当前目录,用户只需从“当前目录”查看即可。3.23 文件的共享与安全保密问题如何解决?共享的实现:通过文件路径实现共享;通过联接实现共享。保密问题的解决:采用存取控制矩阵方法;采用按用户分类的存取控制的方法;采用口令设置。3.24 什么是文件操作指令?每个命令的具体功能是什么?文件操作指令:是指文件系统提供给用户的一系列操作使用命令,其中最基本的命令是查询文件目录。建立文件:当用户需要将其信息作为文件保存时,向系统提出建立文件指令,系统按照用户提供的参数为该文件建立一个表目,放入相应的文件目录中
23、。打开文件:当用户需要访问文件中某个记录时,首先要进行打开文件操作,此时系统将欲访问的文件表目从目录文件调入活动文件表中。读文件: 把文件中相关的记录从外存储器的文件区中读入主存用户工作区中。写文件:把用户要求插入、增加或删除的记录写入文件区相应位置。关闭文件:文件暂时不用时,必须将它3.26 操作系统与用户的接口有几种?各有什么特点?试举例说明你所使用过的接口形式。通常操作系统为用户提供两种接口:一类是程序接口;另一类是作业控制方面的接口。程序一级接口是由一组系统调用命令组成,它是操作系统提供给用户的各种服务,以子程序的形式供用户在程序中调用。当程序执行该系统调用命令时便暂时中断当前执行的程
24、序去执行该系统调用命令子程序,完成后自动返回当前执行程序。作业控制方面的接口与操作系统的类型有关。在批处理系统中,当用户一旦提交了作业,就无法对作业的运行作更多的控制,因此用户必须事先用该操作系统提供的作业控制语言告诉操作系统对进程11的运行意图、资源的需求以及一旦出现问题作何种选择等。对于分时系统,则提供一组操作命令,通常称为语言命令,它采用人机交互回话方式来控制作业的运行。我所使用的 Windows XP 操作系统中,用户通过键盘操作,也可以在多窗口图形化环境中通过鼠标器选择各种操作。第四章4.1 试比较数据库系统与文件系统,说明两者的异同。文件管理系统:数据以文件的形式可以长期保留在外存
25、上反复使用;文件管理系统对文件进行统一管理,它提供各种例行程序对文件进行查询、修改、插入、删除等操作;文件由记录组成,记录是数据存取的基本单位;一个文件对应一个或几个程序;由于各个应用程序各自建立自己的数据文件,因此各文件之间不可避免地出现重复项,造成数据冗余。数据库系统:它把所有应用程序中使用的数据汇集起来,以记录为单位存储,在数据库管理系统的监督和管理下使用,因此数据库中的数据是集成的,每个用户享用其中的一部分。 数据库系统中对数据的描述不仅要描述数据本身,还要描述各数据记录之间的联系,这是数据库系统和传统的文件系统的根本区别。4.2 说明三种数据模型的结构特点。(1)层次模型用树形结构来
26、表示实体及实体之间联系的模型称为层次模型。这种数据模型具有层次清楚、容易理解等优点。在层次模型中每一个结点表示实体集,指向结点的指针表示两个实体集之间的联系,两个结点间的关系只能是 1m 关系,但对于 mm 关系就不能直接用层次模型来表示,必须设法将其分解为两个 1m 关系,这是层次模型的局限性。(2)网状模型如果实体及实体之间的联系组成的结构为一“有向图”,则称为网状模型。网状模型的特点为:可以一个以上的结点无父结点,至少有一个结点有多于一个父结点。(3)关系模型用表格形式表示实体以及实体之间的联系,称为关系模型。它是以关系数学理论为基础的。层次模型和网状模型在本质上是一致的,它们都是用结点
27、来表示实体,用指针表示实体间的联系,而关系模型中存放的数据一部分为实体本身的属性,另一部分是实体之间的联系。4.3 数据库系统的三级结构模式各起什么作用?(1) 用户级又称为外模式,这是从各个用户角度看到和使用的数据库,因此也称为用户视图。每个用户获准使用的部分数据称为子模式,这部分数据的逻辑结构称为局部逻辑结构。(2) 概念级12又称概念模式,这是 DBA 看到的数据库,称为 DBA 视图。他是所有用户视图的一个最小集合,是对数据库整体逻辑的描述,故称为整体逻辑结构。(3) 物理级又称内模式,是系统管理员对数据进行的物理组织,称为系统程序员视图,也称为数据的存储结构。4.4 试说明数据库设计
28、的主要步骤,各完成什么工作。主要步骤:(1) 需求分析(2) 逻辑设计(3) 物理设计(4) 应用程序设计及测试(5) 性能测试及企业确认(6) 装配数据库各部分的工作:需求分析部分是在对被设计对象进行调查研究的基础上提出的对应关系的描述形式,它不依赖于任何形式的数据库管理系统。而逻辑设计和物理设计部分是在需求分析的基础上将系统描述形式转换成与选用的数据库管理系统相适应的数据模型。4.5 解释下列名词(1) 数据库系统 DBS数据库系统是研究如何妥善地保存和科学地管理数据的计算机系统,由数据库、数据库管理系统、应用程序、数据库管理员、用户等构成的人机系统。(2) 数据库管理系统 DBMS 是指
29、对数据库进行管理的软件系统,它是数据库系统的核心组成部分。(3) 关系、元祖、域设 D1,D 2,D n 为任意集合,D 1,D 2,D n 笛卡尔积为 D1*D2*Dn=(d 1,d 2,d n)|diD i,i=1,2, ,n 。笛卡尔积的一个子集 R 称之为定义在 D1,D 2,D n 上的关系。D1,D 2,D n 称为 R 的域,(d 1,d 2,d n)称为一个 n-元祖。(4) 关键字、候选关键字、主关键字关键字是指在一个关系中,有些属性能唯一地识别的元组。具有唯一标识关系中元祖的属性或最小属性组,称为该关系的候选关键字。在一个关系中如果只有一个候选关键字,那么该候选关键字就指定
30、为该关系的主关键字。(5) 关系模式一个关系的属性名表,即二维表的框架称为关系模式,记为REL(A 1,A 2,A n)13其中 REL 为关系名,A 1,A 2,A n 为属性名。(6) 关系模型又称为关系数据库模式,一个关系模型可以由多个关系模式组成。(7) 关系数据库对应于一个关系模型的全部关系的集合称为关系数据库。4.6 总结关系模型的优缺点。优点:建立在严格的数学概念的基础上,概念单一。数据结构简单、清晰,用户易懂易用。实体和各类联系都用关系来表示。对数据的检索结果也是关系。关系模型的存取路径对用户透明。具有更高的数据独立性,更好的安全保密性。简化了程序员的工作和数据库开发建立的工作 缺点存取路径对用户透明导致查询效率往往不如非关系数据模型。为提高性能,必须对用户的查询请求进行优化 。增加了开发数据库管理系统的难度。