2010-2011第一学期软件技术基础复习提纲
现代操作系统第二章复习重点

第二章进程与线程·在早期计算机中,每个字节的读写直接由CPU处理(即没有DMA),对于多道程序而言这种组织方式有什么含义?在这个读取任务中包括两个时间:CPU复制数据的时间和IO设备工作的时间。
而早期IO设备的速度太慢了,IO 设备的工作时间远大于把数据存到内存中所需要的时间,CPU则会空转很长时间,此时多道程序设计就非常必要了。
进程是OS提供的最古老最需要的抽象概念,它把来回切换的多道程序描述成一种多程序的并发。
2.1进程多道程序设计站在系统的角度——提高了CPU的利用率站在用户的角度——可“同时”运行多个程序对某个具体的任务而言——执行速度不变单个CPU不能真正实现并行计算,其在任意时刻都只能执行一道指令。
(第一章到第六章都是以单个CPU来讲解的)·如何解决这个矛盾:OS采用了一系列软件技术实现程序并发执行。
·什么是程序的并发执行【“大家注意把这个刻在脑子里”】若干个程序段同时在系统中运行,这些程序段的执行在时间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,即使这种重叠是很小的一部分,也称这几个程序段是并发执行的。
·什么是运行时间:程序在内存中的时间。
只有一个CPU,但是又希望有多个CPU——虚拟出多个CPU。
(“伪并行”,在任意时刻只有一个程序是活跃的)面向每个任务虚拟出一个CPU,这就是进程。
(CPU:从内存中取指令并执行)虚拟出的CPU本质:对每个进程虚拟了程序计数器。
2.1.1进程模型并行性:处理多个同时性活动的能力并行处理:利用多个处理部件,为完成一个整体任务而同时执行在任意时刻物理PC只对应一个程序的指令底层:CPU在各个进程间来回切换2.1.2进程的创建有4种主要事件导致进程的创建:1.系统初始化(foreground processes and daemons)2.执行了正在运行的进程所调用的进程创建系统调用★3.用户请求创建一个新进程4.一个批处理作业的初始化Fork子进程是父进程的精确副本。
2020年清华大学深圳国际研究生院971互联网+创新设计专业基础综合考试大纲——盛世清北

2020年清华大学深圳国际研究生院971互联网+创新设计专业基础综合考试大纲——盛世清北本文由盛世清北查阅整理,专注清华大学考研信息,为备考清华大学考研学子服务。
以下为2020年清华大学深圳国际研究生院971互联网+创新设计专业基础综合考研考试大纲:一、考试性质《互联网+创新设计专业基础综合》是2020年清华大学深圳国际研究生院电子信息专业【互联网+创新设计】方向全国硕士生统一入学考试专业课考试科目。
【互联网+创新设计】项目是一个多学科跨界交叉的创新项目,本专业课考试科目力求科学、公平、准确、规范地测评考生在信息技术领域和创新设计领域所具备的基础知识、洞察力、学习力、思维力和表现力等方面的综合能力,选拔具有较强跨学科研究能力、知识技能创新能力和发展潜质的优秀考生入学。
二、考试要求测试考生对信息技术领域和创新设计领域相关的基本概念、基础理论的掌握和运用能力。
三、考试方式与分值满分150分,题型包括:填空题、是非判断题、选择题,名词解释,计算题,简答题、案例分析题和手绘题等。
四、参考书目:A.信息技术类:1、计算机网络基础及应用教程刘垚王行恒等编著清华大学出版社,第一版(2011年8月)2、计算机软件技术基础马世霞主编清华大学出版社,第一版(2010年7月)3、概率论与数理统计谢安李冬红主编清华大学出版社,第一版(2012年7月)B.创新设计类:1、中外工艺美术史(可参考清华大学美术学院史论系相关教授的相关著作或教材)2、《世界现代设计史》王受之著中国青年出版社.第一版 (2002 年 9 月)注:以上参考书目供学生备考参考使用,考试范围不局限于参考书内容。
五、考试内容A.信息技术类(一)数理基础1. 概率论a) 随机事件与概率b) 常见随机变量及分布c) 随机变量的数字特征2. 数理统计基本概念a) 总体与样本b) 统计量(二)计算机硬件基础1. 数值(二进制、八进制、十六进制)2. 数字与字符表示和编码3. 计算机硬件组成(三)数据结构1. 基本概念2. 线性与非线性结构3. 查找与排序(四)网络软硬件技术1. 网络基础2. 网络协议3. 网络组建及应用4. Internet网B.创新设计类(一)洞察力:测试考生发现、思考与分析现实社会生活中存在问题的能力;(二)学习力:测试考生在知识的吸收、记忆、消化与运用以及跨界学习方面的能力;(三)思维力:测试考生运用互联网+的思维与方法,针对一个实际问题提出具有一定创新价值的解决方案的能力;(四)表现力:测试考生掌握设计表现技能的水平。
软件技术基础复习提纲

软件技术基础复习提纲第一章数据结构第一节数据结构的基本概念,授课学时1、数据结构的定义,掌握2、术语:数据、数据元素、数据项,掌握3、数据结构三个层次:逻辑结构、存储结构、算法,掌握4、数据结构三个层次之间的关系,理解5、类C语言风格的算法描述方法,理解6、运用数据结构方法,抽象描述物理对象,了解7、存储结构的四种类型,掌握第二节线性结构,授课学时1、线性表的定义和特点,掌握2、顺序表的结构声明,理解3、顺序表的插入、删除算法,掌握4、单向链表的结构声明、特点,理解5、单向链表的创建、插入、删除、查找算法,掌握6、双向链表的结构及插入和删除算法,掌握7、循环链表的结构特点,理解8、利用顺序表和链表解决简单问题,理解9、栈的定义、特点,顺序栈、链栈的入栈和出栈算法,掌握10、利用栈的特点解决简单问题,了解11、队列的定义、特点,循环队列的特点,掌握12、利用队列的特点解决简单问题,了解13、二维矩阵数据元素的位置计算,掌握14、二维矩阵的压缩方法,特别是三元组方法,理解15、串的特点和串的存储结构,了解第三节非线性结构,授课学时1、树结构的定义,掌握2、树的相关术语:节点、度、深度、有序树、无序树、森林等,掌握3、二叉树的定义和结构声明,理解4、二叉树的几种类型及数学特点,掌握5、二叉树的顺序存储结构,理解6、二叉树的链接存储结构,掌握7、二叉树的遍历算法,掌握8、二叉排序树的创建和应用,理解9、二叉树的重构,了解10、树、森林和二叉树的转换,掌握11、图的定义和相关术语,掌握12、利用邻接矩阵存储图,理解13、利用邻接表存储图,理解14、图的深度优先和广度优先遍历算法,了解第四节查找和排序,授课学时1、顺序查找算法,识记,平均查找长度的计算,掌握2、二分查找的特点和算法,掌握3、分块查找的特点,了解4、二叉排序树的查找算法和特点,理解5、哈希查找的特点及线性探测再散列、二次探测再散列方法,理解6、排序的基本概念,排序算法的稳定性,掌握7、简单插入算法、简单选择算法,掌握8、冒泡排序算法,掌握9、快速排序算法,理解10、归并排序算法,了解第二章操作系统第一节操作系统概述,授学时1、操作系统的定义,掌握2、操作系统的发展过程,理解3、操作系统的功能,掌握4、操作系统的特征,掌握5、批处理系统、分时系统和实时系统的特点,理解6、其它操作系统,了解第二节处理机管理,授课学时1、程序并发执行的特征,掌握2、进程的定义,理解3、进程的特征,理解4、进程控制块的概念、内容和作用,掌握5、进程状态及转换,掌握6、进程控制的步骤,了解7、进程调度的原因及方式,掌握8、进程调度算法及评价和应用环境,理解9、临界资源和临界区,掌握10、进程同步原则,理解11、信号量的P、V操作,掌握12、利用信号量进行进程的互斥和进程同步,理解13、进程间通信的方式,了解14、死锁产生原因、和必要条件,识记;预防死锁、避免死锁和死锁的监测和解除方法,理解第三节作业管理1.作业及相关概念理解2.作业调度功能和算法了解3.作业控制的三种基本方式掌握第四节存储管理,授课学时1、存储管理的功能,理解2、地址映射和重定位,掌握3、分区存储管理方法及分区分配算法,理解4、内零头和外零头,理解6、虚拟存储管理概念,理解7、分页存储管理基本原理,识记;地址转换结构及过程,掌握8、分段存储管理基本原理,识记;地址转换机构及过程,掌握9、快表,理解10、段页式存储管理基本原理,理解第五节设备管理,授课学时1、设备管理的任务和功能,理解;2、设备分类,了解3、数据传送控制方式及特点,理解4、各种缓冲技术原理及特点,掌握5、设备分配的数据结构,识记;设备分配过程,了解6、虚拟设备基本原理,理解7、I/O控制系统和I/O设备驱动过程,理解第六节文件管理,授课学时1、文件的分类,了解2、文件系统的功能,理解3、文件的逻辑结构,文件的物理结构,理解4、文件控制块,掌握5、文件目录结构,理解6、文件的共享、保护和保密,了解7、文件存储空间的管理,了解。
软件技术基础教学大纲-软件技术基础-瞿亮-清华大学出版社

《软件技术基础》教学大纲一、课程信息二、课程内容(一)课程教学目标通过本课程的学习,使学生了解计算机软件中的相关重要概念、软件技术的基础知识和方法,从而培养学生利用计算机解决问题的意识和能力,为计算机在专业应用中奠定基础。
为非计算机专业学生开设的一门关于计算机软件基础知识的综合性课程,以应用为目的,选择性地介绍数据结构、操作系统、软件工程、数据库技术和网络基础等部分内容,通过这些内容的学习,学生能对计算机软件系统有一个整体的认识和了解。
(二)基本教学内容1、计算机软件技术概述及C语言回顾;2、几种典型数据结构的逻辑结构和存储结构;3、算法的概念,二叉树及图的遍历方法,常用的查找和排序算法。
4、软件工程中的基本概念及生命周期法;5、操作系统中的基本概念及管理方法;6、数据库的基本知识,SQL语言。
7、计算机网络的主要结构和常识。
8.网络新技术(1)计算机软件技术概述及C语言回顾;教学目的与要求:了解软件技术的发展历程,常用软件的分类。
复习开发工具C语言中的相关知识。
教学重点:教材章节内容及开发工具C语言中的相关知识。
教学难点:C语言中指针的应用。
教学内容:软件的概念,历史及分类。
本教程各章节的主要内容及学习方法。
开发工具C语言中较难理解的指针,结构体等编程知识。
(2)数据结构教学目的与要求:理解数据结构的基本概念;理解线性表、栈、队列数据结构的基本概念,理解各线性数据结构的特点和存储结构,掌握基于不同的存储结构的相关操作的实现方法;理解树和图的基本概念,基本特点和存储结构,掌握二叉树的遍历算法的实现以及树和二叉树之间转换的方法;理解查找和排序的基本概念,掌握查找和排序的各三种基本方法和实现。
教学重点:线性表、堆栈、队列、树和图的逻辑结构表示;线性表、堆栈、队列、树和图的存储算法;线性表、堆栈、队列、树和图的插入和删除操作的算法。
教学难点:单链表的建立及操作算法;循环队列的工作原理、查找以及排序算法。
清华大学测控技术与仪器课表及教学计划

2010-2011学年度春季学期开课目录机械工程学院本科培养方案机械大类教学平台及大类培养方案,是清华大学机械工程学院和航天航空学院所属各系制订教学计划的宏观指南。
它规定了机械大类本科生“厚基础,宽口径”培养的平台课程的最低必修学分要求,根据“加强通识教育基础上的宽口径专业教育,培养厚基础,宽口径复合型理工科人才”的目标,构建了按机械大类培养的课程平台,为逐步实现机械大类统一招生、统一培养,尊重学生志向的专业选择机制创造条件。
本方案是大部分机械大类专业领域大学本科生在校学习、毕业资格、学位资格认定以及进入研究生培养阶段的主要依据。
机械大类教学平台课程结构具有宽广的知识面,通过人文、自然科学基础和工程技术基础课程的学习,大部分学生完成机械工程学院的机械工程及自动化、制造自动化与测控技术、车辆工程、能源动力系统及自动化等专业以及航天航空学院的工程力学、热能与动力工程、飞行器设计与工程等专业中的一个专业课组的学习。
另外,一部分学生还可以按照工业工程、汽车车身等学科交叉的专门的培养方案和教学计划完成本科学习。
一、培养目标精密仪器与机械学系统一按“制造自动化与测控技术”专业招生,前两年为基础平台课,第三年按“机械工程及自动化”,“测控技术与仪器”,“微机电系统工程”三个专业分流培养。
分别培养具有良好综合素质,德、智、体全面发展,具备机械制造方面、测控技术方面、微机电系统工程方面的设计、制造、实验、研究以及较高的外语、计算机应用能力的现代高级工程科学技术人才。
本科毕业生应掌握扎实的基础理论、专业基础理论和专门知识及基本技能,并掌握一定的人文社科、经济管理、环境工程等方面的基本理论。
具有在专业领域跟踪新理论、新知识、新技术的能力,能从事该领域的科学研究、技术开发、教学及管理等工作。
三、基本学分学时机械大类本科生培养方案总学分170左右,课程总学分140左右,课程结构体系包括:人文社科基础课程35学分,自然科学基础课程35学分,工程技术类课程总学分70学分,工程技术类课程中机械大类核心课程40学分,专业课程20学分,另有信息技术基础课程10学分;实践、实验和综合训练等实践环节共计30学分。
信息管理系统基础 复习题及答案

《信息管理系统》基础复习题第一章复习思考题及参考答案1. 什么是系统?答:系统是一组相互关联、相互作用、相互配合的部件为完成特定的目标、按一定的结构组成的整体。
2. 系统的特性有哪些?答:系统具有集合性、目的性、相关性和环境适应性等特征3. 简述系统的思想。
答:系统论认为,世界上各种对象、事件、过程都是由一定部分组成的整体,而这一整体中的各个部分又是由更小的部分组成的,如此下去,以至无穷。
构成整体的各个层次和部分不是偶然地堆积在一起,而是依一定规律相互联系、相互作用的。
系统整体大于系统各部分之和。
这包括两方面的含义:其一是指系统整体的性质大于其各个部分性质的机械相加和;其二是指系统整体的功能大于其各个部分功能的机械相加和。
贝特朗菲指出:整体大于它的各部分的总和,是基本的系统问题的一种描述。
这是系统论最基本的思想。
4. 你能介绍一下其他系统工程方法吗?答:钱学森等指出,系统工程是一门组织管理的技术。
也就是说,系统工程是系统方法在组织管理中的具体应用。
具体地讲,系统工程就是一种对所有系统都具有普遍意义的科学方法。
它应用定量分析和定性分析相结合的方法和电子计算机等技术工具,强调最优化,充分地发挥人力的潜力,通过各种组织管理技术,使局部和整体的关系协调。
系统工程也是一门技艺。
其中具有代表性的是霍尔的三维结构。
美国的A.D.霍尔提出的系统工程的三维结构,是把系统工程的活动分为相互联系的三个方面,即按时间进程把活动分为七个阶段,按处理问题的逻辑关系把活动分为七个步骤,按完成各阶段和步骤所需的各种专业知识设置科学技术体系,并将活动的三个方面用空间直角坐标系形象地表示出来(见图1.1),这就为解决大规模复杂系统提供了较科学的思想方法。
具体地讲,运用系统工程方法进行思考、分析和处理系统问题时应遵循的一般程序为:①明确问题;②选择目标;③形成方案;④建立模型;⑤方案优化;⑥做出决策;⑦付诸实施。
5. 什么是信息?答:信息是客观世界中各种事物的运动和变化的反映,是客观事物之间相互联系和相互作用的表征,表现的是客观事物运动和变化的实质内容。
计算机软件技术复习提纲
《计算机软件技术基础》复习指南复习要求1、信息与计算机(1)本章基本要求:掌握信息的概念;了解计算机发展的简史;了解计算机系统的组成;了解计算机软件技术发展的过程。
(2) 考核内容:1.1信息与信息时代信息与数据的概念;计算机的应用。
1.2计算机发展简史计算机发展的几个阶段。
1.3计算机与计算机系统计算机系统的组成;计算机的硬件与软件。
1.4计算机软件技术发展过程软件技术发展的几个阶段。
(3)考核重点:信息的概念;计算机系统的组成。
2、常用数据结构及其运算(1) 本章基本要求:掌握线性表、栈与队列的定义和运算;掌握数组的定义;掌握树、二叉树、图的定义和性质及简单应用;了解基本的查找算法和排序方法。
(2) 考核内容:2.1概述数据结构的相关术语。
2.2线性表线性表的定义;顺序线性表、链式线性表的存储方式、基本运算;向量和链表的比较。
2.3栈与队栈的结构和运算;队的结构和运算。
2.4数组数组的定义;数组的存储结构。
2.5树与二叉树树的定义及其存储结构;二叉树的定义及其性质;一般树转换为二叉树的方法;二叉树的遍历方法;二叉树的基本应用。
2.6图图的定义及基本术语;图的存储结构;图的遍历方法。
2.7查找查找的基本概念;几种简单的查找方法;哈希表技术。
2.8排序排序的基本概念;选择排序、插入排序、交换排序等排序方法。
(3)考核重点:线性表的存储及运算;二叉树的定义及性质;二叉树的基本应用;图的存储结构和图的术语;哈希表技术。
3、操作系统(1) 本章基本要求:了解操作系统的发展和分类;掌握操作系统的特性;了解实存管理;掌握存储管理的相关概念和虚拟存储管理技术;掌握进程调度和多道程序并发运行出现的问题;掌握虚拟设备;了解文件管理和操作系统用户接口。
(2) 考核内容:3.1引论操作系统的发展过程,操作系统的分类;操作系统的特性。
3.2存储管理存储管理的功能和相关概念;实存管理;虚拟存储管理技术。
3.3处理器管理处理器管理的基本概念;进程调度;多道程序并发运行出现的问题及解决方法。
10-11一课表(软件工程学院)
注:①、②、③、④、⑤、⑥分别对应于具体该专业的1、2、3、4、5、6班;
1.沈保华老师的算法分析与设计(选修)为64个学时(32讲授+32上机),在本课表中,排在每周二晚上两节理论和一节实训(32讲授+16上机),剩下16学时的上机由老师
理补课手续后给学生补上。
2.傅笔灵老师的日语选修2为64学时,现排在周二晚上3节理论课(共48学时),剩下16学时的上机由老师到教学办办理补课手续后给学生补上。
3.沈保华老师和胡海洋老师的程序设计基础课为64个学时(48讲授+16上机),本课表只安排了其中的上课讲授部分,16学时的上机时间请任课老师根据上课进度自行安排,并在教学办做好备案。
4.马虹老师的《模拟电路和数字电路》为48学时理论+16学时实验,实验课的具体时间将由任课老师与本部协商后另行安排。
5.体育的A、B、C、D班的名单将另行公布。
6.吴昊老师的CMMI的软件工程课程为64讲授+96上机,本课表上只安排了其中64讲授+64上机,余下的32上机时间由任课老师根据上课进度自行安排,并报教学办备案。
2.傅笔灵老师的日语选修2为64学时,现排在周二晚上3节理论课(共48学时),剩下16学时的上机由老师到教学办办理补课手续后给学生补上。
软件工程、软职学院2010-2011学年第一学期课程表
由老师到教学办办行安排,并在教学办。
计算机软件技术基础(1)复习提纲
Name属性和 Caption属性的值分别为
A)“Label1”、“VisualBASIC”
B)“Label1”、“Caption”
C)“Label”、“VisualBASIC”
D)“Label”、“Label1”
3、下面几对数据类型中,哪一对所占的内存大小一致:
A)Integer、Single B)Integer、Boolean C)Date、Single D)Long、
答案:12 6 6
4、下面程序段在窗体上输出的是什么?
Dim a(4,4) As Integer
Dim nc As Integer,nr As Integer
Dim I as Integer,j As Integer ,k As Integer
Nc=4:nr=1:I=1:j=1
For k=1 To 16
1、 考试范围
计算机软件技术基础(1)复习提纲
绪论部分
1.程序设计语言发展历史 机器语言、汇编语言、面向过程的语言、面向对象的程序设计语言 2.对象及其属性、方法与事件 对象、属性、方法、事件、类 3.VisualBasic的特点 可视化、面向对象、灵活的编程支持、广泛的应用领域
面向对象的程序设计部分
Private Sub sub1(byVal x As Integer, y As Integer, z As Integer)
Dim I As Integer
X=2*z
Y=3*z
Z=x+y
Print x,y,z
End Sub
答案:6 2 9 9 3 9 15 5 15
3、下面程序段在窗体上输出的是什么?
鼠标、键盘事件部分
1.控件的显示 2.鼠标事件 3.键盘事件
软件技术基础复习大纲
软件技术基础复习大纲一.填空题1.数据结构的内容:逻辑结构,存储结构,和对数据的操作。
2.数据的逻辑结构两大类:线性结构和非线性结构。
3.数据存储结构的4种形式:顺序存储,链式存储,索引存储,散列存储方法。
4.时间复杂度:常数阶O(1),--指数阶O(2n)5.单链表的插入计算:s->next=p->next , p->next=s;6.栈的定义:先进后出的线性表;队列:先进先出7.栈用向量存放,位置固定不变8.顺序栈的运算进栈:s->data[++s->top]=x 退栈:return s->data[s->top--];9.空队列条件:front==rear ,满队列条件:(rear+1)%Maxsize==front10.一维数组特点:线性聚集,一头一尾;11.二维数组的存储:行优先顺序和列优先顺序;12.二维数组的计算公式:a[i]=L0+i*L13.串是线性表;14.二叉树的性质:①二叉树的第i层上的结点数目最多为2(i);②高度为k的二叉树至多有2k+1-1个结点;③任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1.15.图的三种存储结构:邻接矩阵,邻接表和邻接多重表。
16.连通分量:无向图G的极大连通子图为G的连通分量。
17.强连通分量:有向图G的极大连通子图为G的强连通分量。
18.入度与出度的关系:1:1或相等。
19.常见的遍历图方法:深度优先搜索和广度优先搜索。
20.在单链表中的一个结点中有1个指针。
21.软件的定义:软件是计算机程序,规则,相关的文档以及在计算机上所需要的数据。
22.软件工程的三要素:方法,工具和工具。
23.软件工程学研究内容:软件开发技术和软件工程管理。
24.软件过程是软件产品生产所需要完成的一系列任务的框架。
25.软件工程的过程模型:软件定义,软件开发和软件维护三个时期组成。
26.常见的软件模型有:瀑布模型,快速原型模型,增量模型和螺旋模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、系统软件:操作系统,编译程序,诊断程序,系统服务程序,语言处理程序,数据库管理系统和网络通信管理程序等。
2、结构化程序设计语言。
程序的正确性,为提高程序的可靠性,使程序具有简明的控制结构与数据结构,语言简明,故将程序结构限制为顺序,选择,和循环三种基本结构。
程序设计方法论。
程序设计将复杂的问题转化为计算机执行的简单操作过程,自顶向下法自底向上法结构化程序设计要求按层次结构来组织模块,所以克服两种方法不足之处就是将两种方法结合起来。
3、面向对象程序设计语言。
面向对象技术与结构化技术有本质的区别:结构化设计方法是将复杂系统按功能分为简单的子系统,缺点就是过分强调了对象的行为特性,忽视他的结构特征,这可能使有些对象的信息被零散地拆散到各个功能模块中,甚至会破坏自然存在的实体结构。
面向对象的程序设计方法则是根据对象来组织系统的逻辑结构,对象和对象之间被组织成层次结构和组合结构,作到层次分明,易于理解,验证和控制。
OOP的优点还在于对象的继承性与封装性。
1、算法的时间复杂度与空间复杂度。
时间复杂度:依据算法编制成程序后,在计算机上运行时所消耗的时间。
一般用频度与时间复杂度两个概念来估算。
常见的时间复杂度有:常量型多项式型对数型指数型空间复杂度:(同上),在计算机执行过程中所需要的最大存储空间.指算法中所需的辅助空间单元,而不是包括问题的原始数据占用的空间。
2、顺序表第i 个元素的存储地址计算。
(也叫随机存储结构。
)adr(ai)=adr(a1)+(i-1)L L表示每个元素占用的单元数3、顺序存储结构存在的三个缺点。
a顺序存储结构的存储单元是连续的,在执行插入,删除,运算时要移动大量的元素。
b 每次必须按按最大长度预先分配存储空间,可能会造成一部分空间闲置不用。
c容易造成超出预分配空间而溢出。
4、在单链表中,删除p所指结点的直接后继的操作。
if ((p->next == NULL) || (j > i-1))printf(“i值不合法\n”); /* 找不到,i>n或i<=0 */else{ s = p -> next;p -> next = s -> next;free(s);}}5. 栈(也称)堆栈,是限定只能在表的同一端进行插入和删除操作的线性表。
其中允许进行插入和删除操作的一端称为栈顶,而表中固定的一端称为栈底。
栈中元素个数为零时称为空栈。
栈有先进后出,后进先出的特点,栈的存储结构也有顺序与链式两种,称为顺序栈和链式栈。
队列的操作原则及其插入操作和删除操作分别在哪一端进行。
队列是一种先进先出(FIFO)的线性表。
它只允许在表的一端进行插入元素操作,而在另一端进行删除元素操作。
允许插入的一端是队尾,允许删除的为排头。
6.满二叉树与完全二叉树的关系:(满...一定是完全..,完全..不一定是满..)二叉树的(递归)定义:一个二叉树是一个有限结点的集合,该集合或者为空,或由一个根结点和两棵互不相交的被称为该根的左子树和右子树的二叉树组成特点:(1) 每个结点最多只能有两个孩子,即二叉树中不存在度大于2的结点。
(2)二叉树的子树有左、右之分,其次序不能任意颠倒。
(3)形态:性质1:在二叉树中,第i层的结点数最多有2i-1(i≥1)个。
性质2:在深度为k的二叉树中结点总数最多有2k–1个。
性质3:对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。
性质4:具有n个结点的完全二叉树的深度为:└log2n┘+1其中└log2n┘表示log2n的整数部分。
性质5:如果对一棵有n个结点的完全二叉树的结点按层序编号(从第1层到第+1层,每层从左到右),则对任一结点i(1≤i≤n),有(1) 如果i=1,则i是二叉树的根,无双亲;如果i>1,则其双亲是结点。
(2) 如果2i>n,则结点i无左孩子;否则其左孩子是2i。
(3) 如果2i+1>n,则结点i无右孩子;否则其右孩子是结点2i+1 。
完全二叉树的特点:(定义:如果一棵有n个结点的二叉树,按与满二叉树相同的编号方式对结点进行编号,若树中的n个结点和满二叉树编号完全一致,则称该树为完全二叉树。
)1) 叶子只可能在层次最大的两层上出现。
(2) 最下面一层的结点都集中在该层最左边的若干位置上。
满二叉树的特点就是每一层的接点数都是最大结点数。
7.遍历二叉树就是按一定的次序,系统地访问树中的所有结点,使每个结点恰好被访问一次。
所谓访问结点,其含义是很广的,可以理解为对结点的增、删、修改等各种运算的抽象。
遍历二叉树的过程实际上就是按某种规律把二叉树的结点排成一个线性序列。
1) 先序遍历:若二叉树为空,则空操作;否则①访问根结点;②先序遍历左子树;③先序遍历右子树。
先序遍历根结点指针为bt的二叉树。
void preorder(TNODE *bt){if (bt != NULL){printf(''%d \n'', bt->data);preorder(bt->lchild);preorder(bt->rchild);}}2) 中序遍历:若二叉树为空,则空操作;否则①中序遍历左子树;②访问根结点;③中序遍历右子树。
中序遍历根结点指针为bt的二叉树。
void inorder(TNODE *bt){if (bt != NULL){inorder(bt->lchild);printf(''%d \n'', bt->data);inorder(bt->rchild);}}(3) 后序遍历:若二叉树为空,则空操作;否则①后序遍历左子树;②后序遍历右子树;③访问根结点。
后序遍历根结点指针为bt的二叉树。
void postorder(TNODE *bt){if (bt != NULL){postorder(bt->lchild);postorder(bt->rchild);printf(''%d \n'', bt->data);}}8.能进行二分(对分)查找的条件:它要求文件必须按关键字排序,而且只适用于向量结构的顺序表。
当n 较小时对分查找的优越性并不明显。
1、操作系统的三种用户接口:(系统调用、命令行、图形化)2、分页存储管理中的地址转换:(先进先出法FIFO 、最近最少使用法LRU )4、处理器调度(管理):作业调度:又称高级调度或宏观调度。
功能是按照某种调度原则,选取某些作业进入内存,为他们分配必要的资源,建立相应的进程,并当作业完成后做好一切善后工作。
进程调度:...低..微...。
功能是按照某种调度原则,实现处理器在各程序间的切换。
5、进程:a 在多道程序系统中,程序概念无法刻画和反映系统的状况b 进程是程序的执行,因此属于动态的概念c 进程是有生命过程的,进程有诞生(创建进程)和死亡(撤销进程)6、进程的三种状态以及三种状态之间的转化条件。
7、同步:若干个进程要共同完成某一任务,相互之间必须协调配合。
互斥:多个进程共享系统中某些资源,而资源要求排他性使用。
8、临界区与临界资源。
系统中一些资源一次只允许一个进程使用,这类资源称为临界资源。
而在进程中访问临界资源的那一段程序称为临界区。
9、P 操作和V 操作都是原语所谓原语是由若干条机器指令构成的一段程序,用以完成特定功能。
P 操作和V 操作定义:P(S):(1) S := S - 1;(2) 若S <0,则该进程进入S 信号量的队列等待。
V(S):(1) S := S + 1;(2) 若S ≤0,则释放S 信号量队列上的一个等待进程,使之进入就绪队列。
10、描述使用P 、V 操作实现进程互斥的方法。
令S 初值为1,进程A 、B 竞争进入临界区的程序可以写成:进程A 进程BP(S); P(S);临界区 临界区V(S); V(S);11、描述使用P 、V 操作解决生产者和消费者问题的方法。
令s1=1,s2=0,可以写出两个进程的同步:生产者 消费者L 1:{生产物品} C1:P(s2)P(s1) {从缓冲区取物品}{将物品放入缓冲区} V(s1)V(s2) {消费物品} 就绪状态等待状态运行状态等待的事件已发生调度时间片用完等待某事件发生GotoL1 GotoC113、外部设备的输入输出(计算机访问外设)方式及各自特点。
(1)循环测试I/O 方式:在没有中断与通道时,CPU 启动外设就要不间断询问外设的忙闲情况,忙时,cpu 对其不断测试,直到闲时才进行输入输出操作,在此期间cpu 不能另作它用。
(2)程序中断I/O 方式:当有中断设施时,cpu 启动外设后就可转向其他程序,只在发出I/O 中断请求时,再转去进行输入输出操作,因此大部分时间cpu 可作他用。
(3)通道I/O 方式:建立了独立管理机制,通道独立完成批数据的传送,cpu 可以运行其他操作。
14、文件的三种物理结构及其特点。
(1)顺序结构:将逻辑文件的记录依次存于外存连续的物理内存中。
(2)链接结构:逻辑记录可以分配在不连续的物理段中,也不必顺序排列。
(3)索引结构:可以经常随机访问文件中某个记录。
1、数据库的三个层次结构即外模式、概念模式和内模式。
2、 此数据库中:一门课程由若干名学生选修,由一名教师讲授,而一个班级由若干名学生组成,要求给出学生,班级,课程,教师的E-R 图。
班级 成绩 人数 选修组成 讲授课程 教师学生 M 11 N N 13、SQL查询语句。
例题:下表为“students”表,其中学号与年龄字段为数值型,姓名、性别和院系字段为字符型,根据此表用SQL语句完成下面的问题:学号姓名性别年龄院系10001 肖海天男20 CS10002 李玉女19 IS10003 刘星女18 MA10004 王名远男19 IS(1)查询学生学号和学生出生年份;select 学号, 2010-年龄as 出生年份from students(2)查询院系为CS的学生学号和姓名;select 学号,姓名from students where 院系=’CS’(3)查询年龄在18~19之间的学生学号和姓名;select 学号,姓名from students where 年龄between 18 and 19(4)查询院系为CS和IS的学生姓名。
select 姓名from students where 院系in (‘CS’,’IS’)或院系=’CS’or 院系=’IS’1、软件生命周期及其各个阶段。
定义(可行性论证与开发计划,需求分析,开发阶段的概要设计,详细设计与编码,维护阶段的测试,运行维护)开发,维护三大阶段。