搜档网
当前位置:搜档网 › 软件工程专业基础综合

软件工程专业基础综合

软件工程专业基础综合
软件工程专业基础综合

软件工程专业基础综合

————————————————————————————————作者:————————————————————————————————日期:

849-软件工程专业基础综合

操作系统

一、考查目标

操作系统是软件工程专业的一门核心专业基础课程,具有较强的理论性和实践性。该课程的考试内容包括引论、进程管理、内存管理、存储管理(包括文件系统与输入/输出系统)、保护与安全五部分的相关概念、设计原理和实现方法。考试的具体要求包括:

1. 了解操作系统在计算机系统中的作用、地位、发展和特点。

2. 理解操作系统的基本概念、主要功能、主要组成部分,掌握操作系统各个组成部分的设计方法和实现技术。

3. 能够运用所学的操作系统原理、方法和技术对相关问题进行分析和解决。

二、考试的内容

1.导论

1)操作系统的概念

2)计算机系统的操作、存储结构、输入输出结构和计算机系统的体系结构。

3)操作系统的结构组成、操作系统的操作及各部分的功能、高速缓冲存储器CACHE 4)操作系统的分类和运行环境

2.操作系统结构

1)操作系统提供的服务类型

2)操作系统的用户接口类型

3)系统调用及类型

4)操作系统的设计和实现方法

5)操作系统的结构分类及优缺点

6)虚拟机的基本概念和原理

3.进程

1)进程的概念、组织、控制和状态转换

2)进程调度的基本概念

3)进程的操作,包括进程的生成、终止等

4)进程通信

4.线程

1)线程的概念与动机

2)多线程模型

5.CPU调度

1)调度的基本概念

2)调度的时机、切换和过程

3)调度的基本准则

4)典型调度方法:先来先服务调度算法、最短作业优先调度算法、优先级调度算法、时间片轮转调度算法、多级队列调度算法、多级反馈队列调度算法

5)线程调度

6)调度算法的性能评估

6.进程同步

1)进程同步的基本概念

2)临界区访问的原则及实现临界区互斥的基本方法:软件实现方法和硬件实现方法3)信号量概念与基本机制

4)经典同步问题:生产者-消费者问题、读者-写者问题、哲学家就餐问题和理发师问题。

5)管程的基本概念、原理和实现

7.死锁

1)死锁的概念及条件

2)死锁的处理策略

3)死锁的预防及实现方法

4)死锁的避免:系统安全状态、资源分配图算法、银行家算法

5)死锁的检测方法和解除

8.主存

1)内存管理的基本概念:程序的装入与链接、逻辑地址与物理地址、内存保护

2)交换技术

3)内存的分配管理方法:连续分配管理方法、分页管理方法、分段管理方法、段页式管理方法。

9.虚拟内存

1)虚拟内存的基本概念

2)请求分页管理方法

3)页面置换算法:先进先出置换算法、最佳置换算法、最近最少使用置换算法、

近似最近最少使用置换算法

4)帧的分配策略

5)抖动现象的原因及解决方法

6)内核内存的分配方法

7)虚拟内存中需要考虑的其他问题:预调页、页大小的影响、TLB的搜索能力、逆向页表等

10.文件系统接口

1)文件的基本概念

2)文件的结构:顺序文件、索引文件等

3)文件的访问方法

4)目录结构:文件的存储结构、单级目录结构、两级目录结构、树形目录结构、无环图目录结构、通用图目录结构

5)文件共享

11.文件系统实现

1)文件系统的结构

2)文件系统的实现

3)目录的实现

4)文件的磁盘空间分配方法:连续、链式、索引

5)空闲空间的管理

12.大容量存储

1)磁盘的结构

2)磁盘的调度方法:先到先服务调度算法、最短寻道时间调度算法、SCAN调度算法、C-SCAN调度算法、LOOK调度算法、C-LOOK调度算法

3)磁盘管理:格式化、引导块、坏块的处理

4)RAID结构

13.输入/输出系统

1)输入/输出硬件

2)输入/输出访问控制方式

3)输入/输出应用接口

4)内核输入/输出子系统:输入/输出调度、缓存、缓冲、假脱机与设备预留、错误处理、输入/输出保护、内核数据结构

5)输入/输出从请求到硬件操作的转换过程

14.保护

1)保护的目标与原则

2)保护域

3)访问矩阵及实现方法:全局表、访问列表、能力表

15.安全

1)系统中存在的安全问题以及安全措施的级别

2)程序的威胁:木马、后门、逻辑炸弹、栈与缓冲溢出、病毒

3)系统与网络威胁:蠕虫、端口扫描、DoS

数据结构

一、考试基本要求

要求考生系统地理解数据结构的基本概念,掌握各种数据结构的定义和实现算法。要求考生具有抽象思维能力,逻辑推理能力,和综合运用所学的知识分析问题和解决问题的能力。

二、考试范围和主要内容

1.预备知识

了解C++和Java基本语法结构;掌握递归思想。

2.程序性能

了解复杂性的表示和计算方法。

掌握插入排序、选择排序、冒泡排序、名词排序基本思想。

3.数据描述

掌握线性表的公式化描述、链表描述、间接寻址等存储方法,了解遍历器的作用和实现方法,掌握插入、删除、合并等运算方法。

掌握箱子排序、基数排序

4.数组和矩阵

掌握对角矩阵、三对角矩阵、三角矩阵、对称矩阵等特殊矩阵的特征,掌握存储方法和基本运算实现。

5.堆栈

掌握堆栈的基本概念、基本操作和实现方法。

掌握括号匹配的实现思想。

6.队列

掌握队列的基本概念、基本操作和实现方法。第七章跳表和散列

掌握散列的基本概念、基本操作和实现方法。

7.二叉树

掌握二叉树的基本概念、存储方法、常用操作和特征;掌握二叉树的前序、中序、后序、按层遍历方法。

8.优先队列

掌握堆的基本概念和插入、删除和初始化方法。

掌握堆排序思想。

掌握霍夫曼树、霍夫曼编码实现方法。

9.搜索树

掌握二叉搜索树(排序树)基本概念和插入、删除、搜索的实现方法。

掌握m叉搜索树和B树基本概念以及插入、删除、搜索的实现方法。

10.图

掌握图基本概念。

掌握图的邻接矩阵和临界链表存储方法;掌握图的深度优先和广度优先遍历算法。了解图的寻找路径和寻找连通构件方法。

了解生成树的寻找方法。

11.贪婪算法

掌握AOV网的拓扑排序算法。

掌握单源最短路径Dijkstra算法。

掌握最小耗费生成树的概念、Prim算法和Kruskal算法。

12.分而治之算法

掌握归并排序、快速排序实现方法。

北京邮电大学网络教育学院-软件工程综合练习题及解答

《软件工程》综合练习题 第一章 一、单项选择题 1、软件是一种逻辑产品,软件产品具有无形性,它是通过()体现它的功能和作用的。 A、复制 B、计算机的执行 C、开发和研制 D、软件费用 2、同一软件的大量软件产品的生产主要是通过()而得到 A、研究 B、复制 C、开发 D、研制 3、作坊式小团体合作生产方式的时代是()时代。 A、程序设计 B、软件生产自动化 C、程序系统 D、软件工程 4、软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用()的方法代替传统手工方法。 A、工程化 B、现代化 C、科学 D、智能化 5、软件工程与计算机科学性质不同,软件工程着重于() A、理论研究 B、原理探讨 C、如何建造软件系统 D、原理的理论 6、将每个模块的控制结构转换成计算机可接受的程序代码是()阶段的任务。 A、编码 B、需求分析 C、详细设计 D、测试 7、软件工程要用()的方法建立软件开发中的各种模式和各种算法 A、管理 B、工程 C、数学 D、计算机 8、软件开发费用只占整个软件系统费用的() A、1/2 B、1/3 C、1/4 D、2/3 9、软件开发中大约要付出()%的工作量进行测试和排错 A、20 B、30 C、40 D、50 10、()方法是一种面向数据结构的开发方法。 A、结构化 B、Jackson C、维也纳开发 D、面向对象开发 11、准确地解决“软件系统必须做什么”是()阶段的任务: A、可行性研究 B、需求分析 C、详细设计 D、编码 12、软件生存周期中时间最长的是()阶段 A、需求分析 B、概要设计 C、测试 D、维护 13、()方法是以数据结构为驱动的、适合于小规模的项目。 A、JSP B、JSD C、VDM D、Jackson 14、软件是一种()产品

软件工程专业基础综合

《软件工程专业基础综合》考试大纲 第一部分数据结构与算法 考试题型:问答、分析、编程 总分:60分 一、栈(Stack)、队列(Queue)和向量(Vector) 内容: 单链表,双向链表,环形链表,带哨兵节点的链表; 栈的基本概念和性质,栈ADT及其顺序,链接实现;栈的应用;栈与递归; 队列的基本概念和性质,队列ADT及其顺序,链接实现; 队列的应用; 向量基本概念和性质;向量ADT及其数组、链接实现; 二、树 内容: 树的基本概念和术语;树的前序,中序,后序,层次序遍历; 二叉树及其性质;普通树与二叉树的转换; 树的存储结构,标准形式; 完全树(complete tree)的数组形式存储; 树的应用,Huffman树的定义与应用; 三、查找(search) 内容: 查找的基本概念;对线性关系结构的查找,顺序查找,二分查找; Hash查找法,常见的Hash函数(直接定址法,随机数法), hash冲突的概念, 解决冲突的方法(开散列方法/拉链法,闭散列方法/开址定址法),二次聚集现象; BST树定义,性质,ADT及其实现,BST树查找,插入,删除算法;

平衡树 (AVL) 的定义,性质,ADT及其实现,平衡树查找,插入算法,平衡因子的概念; 优先队列与堆,堆的定义,堆的生成,调整算法;范围查询; 四、排序 内容: 排序基本概念;插入排序,希尔排序,选择排序,快速排序,合并排序,基数排序等排序算法基本思想,算法代码及 基本的时间复杂度分析 五、图 内容:图的基本概念;图的存储结构,邻接矩阵,邻接表;图的遍历,广度度优先遍历和深度优先遍历;最小生成树基本概念, Prim算法,Kruskal算法;最短路径问题,广度优先遍历算法,Dijkstra算法,Floyd算法;拓扑排序 第二部分计算机系统基础 考试题型:问答、分析、编程 总分:40分 一、处理器体系结构 内容:CPU中的时序电路、单周期处理器的设计、流水线处理器的基本原理、Data Hazard的处理、流水线设计中的其他问题 二、优化程序性能 内容:优化程序性能、优化编译器的能力和局限性以及表示程序性能、特定体系结构或应用特性的性能优化、限制因素、确认和消除性能瓶颈 三、存储器结构及虚拟存储器 内容:局部性、存储器层级结构、计算机高速缓存器原理、高速缓存对性能的影响、地址空间、虚拟存储器、虚拟内存的管理、翻译和映射、TLB、动态存储器分配和垃圾收集 四、链接、进程及并发编程

计算机公共基础

第一章数据结构与算法 1.1算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2数据结构的基本基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 非空线性表的结构特征: (1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。 顺序表的运算:插入、删除。(详见14--16页) 1.4栈和队列 栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。 栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。 栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。 队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front 指针指向队头。 队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。 队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。 循环队列:s=0表示队列空,s=1且front=rear表示队列满

软件工程知识点总结

软件工程(简要知识点) 一、. 软件过程五个模型对比(瀑布模型、快速原型、增量、螺旋、喷泉模型) 二、可行性研究: 1、任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2、四个方面:技术、经济、操作可行性、法律 3、数据流图四种成分:1、源点/终点2、处理3、数据存储 4、数据流 三、需求分析: 1、任务:确定系统必须完成哪些工作,对目标系统提出完整、清晰、具体的要求。 2、结构化方法就是面向数据流自顶向下逐步求精进行需求分析的方法。 3、实体联系图:1、数据对象2、属性3、联系(1:1、1:N、M:N) 四、总体设计: 1.任务:回答“概括的说,系统应该如何实现”,用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序结构。 2.系统设计阶段(确定系统具体实施方案)、结构设计阶段(确定软件结构) 3.模块独立:内聚和耦合 4. 耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统

5. 内聚(Cohesion): 一个模块内各元素结合的紧密程度 6.面向数据流的设计方法:变换流和事务流 五、详细设计: 1.任务:确定应该怎样具体的实现所要求的系统,也就是说经过这个阶段的设计工作应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。 2.过程设计的工具(程序流程图、盒图、PAD图、判定表、判定树) 七、测试: 1、单元测试:又称模块测试。每个程序模块完成一个相对独立的子功能,所以可以对该模块进行单独的测试。由于每个模块都有清晰定义的功能,所以通常比较容易设计相应的测试方案,以检验每个模块的正确性。 2、集成测试: 在单元测试完成后,要考虑将模块集成为系统的过程中可能出现的问题,例如,模块之间的通信和协调问题,所以在单元测试结束之后还要进行集成测试。这个步骤着重测试模块间的接口,子功能的组合是否达到了预期要求的功能,全程数据结构是否有问题等。 3、白盒测试技术(逻辑覆盖、基本路经测试)

西安交通大学软件工程综合训练期末考试高分题库全集含答案

49162--西安交通大学软件工程综合训练期末备考题库49162奥鹏期末考试题库合集 单选题: (1)在Project 2003中输入新任务的时候,所有的任务起始日期默认都是项目的开始日期,工期为()天 A.0 B.1 C.2 D.3 正确答案:B (2)下列哪一项不是项目组分配角色项() A.项目组长 B.开发人员 C.测试人员 D.管理人员 正确答案:D (3)下列哪一项不属于保密级别() A.普通 B.加密 C.保密 D.机密 正确答案:B

(4)函数规模应在()行以内 A.100 B.200 C.300 D.400 正确答案:B (5)下列()不是任务之间的相关性关系 A.FS B.FD C.SS D.SF 正确答案:B (6)需求优先级:分为1-5个级别,()是最最级别,在项目开发过程中要最先实现 A.2 B.3 C.4 D.5 正确答案:D (7)软件需求规格说明书的内容不应该包括( ) A.对重要功能的描述 B.对算法的详细过程描述 C.对数据的要求

D.软件的性能 正确答案:B (8)基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的( )上 A.配置项 B.程序 C.基线 D.过程 正确答案:C (9)软件的集成测试工作最好由( )承担,以提高集成测试的效果。 A.该软件的设计人员 B.该软件开发组的负责人 C.该软件的编程人员 D.不属于该软件开发组的软件设计人员 正确答案:D (10)模板文件的后缀名是() A.*.mpt B.*.pro C.*.dot D.*.xls 正确答案:A (11)程序模块要采用缩进风格编写,缩进的空格数为()个。

电子科技大学2018年《软件工程学科基础综合 》硕士研究生考研大纲_电子科技大学考研网

电子科技大学2018年《软件工程学科基础综合》硕士研究生考研大 纲 考试科目860软件工程学科基础综合考试形式笔试(闭卷) 考试时间180分钟考试总分150分 一、总体要求 《软件工程学科基础综合》包括《软件工程》和《网络技术》两门课程,其中《软件工程》要 求考生了解软件工程的基本知识和方法,熟悉软件工程的主要环节,掌握最基础的软件工程理论方法,并能应用到实际的软件项目开发中。《网络技术》要求学生掌握计算机网络的基本概念、基本原理和基本方法;掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理;能够运用计算机网络的基本概念、基本原理和基本方法进行网络系统的分析、设计和应用。两门课程各占总分的50%。 二、内容 《软件工程》考试内容如下: 1.基本概念 重点是软件的特性、软件工程学的研究范畴,以及学习软件工程的意义。掌握软件的概念、特 点和软件工程的基本特征;理解为什么学习软件工程、如何学习。主要知识点: 1)软件的概念和特点 2)软件危机的概念和产生的原因 3)软件工程的定义、三要素和发展过程 2.过程模型 重点是各种实用的软件过程模型,以及不同过程模型的特点比较。掌握几种典型模型的优缺点 和能依据项目特征选择使用不同的模型;理解为什么有不同的模型、不同模型的特征。主要知识点: 1)软件生命周期概念、软件过程概念、能力成熟度模型CMM概念 2)常见的几种软件过程模型:瀑布、增量、原型、螺旋、喷泉等,比较各自优缺点 3.需求分析 重点是需求分析的一般步骤、数据流图、用例图、活动图、需求规格说明文档的编制。掌握结 构化分析模型的导出、数据流图/用例图/活动图的基本画法和需求规格说明文档的编制;理解需求分析的过程、主要步骤。主要知识点: 1)需求分析的概念 2)需求分析的过程:需求确认与需求变更 3)需求确认的步骤:需求获取→需求提炼→需求描述→需求验证 4)需求分析三类建模:功能模型、数据模型、行为模型。面向过程和面向对象的需求分析过 程中,三类模型各包含哪些内容? 5)掌握数据流图和用例图作法。 4.系统设计 重点是面向数据流的设计方法、面向对象的设计方法、过程设计的常用工具。掌握软件设计的 主要技术、主要内容和主要方法,能根据具体项目进行模块划分和软件架构设计;理解软件设计和需求分析之间的相互关系。主要知识点: 1)系统设计分为概要设计和详细设计 2)与设计相关的8个概念:抽象、体系结构、设计模式、模块化、信息隐藏、功能独立、细 化、重构。其中,着重考察体系结构、模块化、信息隐藏、功能独立。

国家二级公共基础知识(程序设计基础、软件工程基础)-试卷1

国家二级公共基础知识(程序设计基础、软件工程基础)-试卷 1 (总分:72.00,做题时间:90分钟) 一、选择题(总题数:36,分数:72.00) 1.选择题下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数: 2.00) __________________________________________________________________________________________ 解析: 2.下列叙述中正确的是( )。 (分数:2.00) A.程序执行的效率与数据的存储结构密切相关√ B.程序执行的效率只取决于程序的控制结构 C.程序执行的效率只取决于所处理的数据量 D.以上都不正确 解析:解析:影响程序执行效率的因素有很多,如数据的存储结构、程序处理的数据量、程序的算法等。顺序存储结构和链式存储结构在数据插入和删除操作上的效率就存在差别。其中,链式存储结构的效率要高一些。 3.下列描述中,不符合良好程序设计风格要求的是( )。 (分数:2.00) A.程序的效率第一,清晰第二√ B.程序的可读性好 C.程序中要有必要的注释 D.输入数据前要有提示信息 解析:解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。 4.结构化程序所要求的基本结构不包括( )。 (分数:2.00) A.顺序结构 B.GOTO跳转√ C.选择(分支)结构 D.重复(循环)结构 解析:解析:结构化程序的基本结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构。 5.下列选项中不属于结构化程序设计原则的是( )。 (分数:2.00) A.可封装√ B.自顶向下 C.模块化 D.逐步求精 解析:解析:结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用goto语句。 6.结构化程序设计的基本原则不包括( )。 (分数:2.00) A.多元性√ B.自顶向下 C.模块化

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

18春西交《软件工程综合训练》在线作业

(单选题) 1: 在()菜单上点击“工具栏”菜单项,再选择“PERT 分析”,将出现“PERT 分析”工具栏。. A: 视图 B: 编辑 C: 格式 D: 插入 正确答案: (单选题) 2: 对用例不需要在()处打对钩,其中打对钩用例的UUCW会自动计算得出 A: 简单 B: 普通 C: 一般 D: 复杂 正确答案: (单选题) 3: 软件工程管理是( )一切活动的管理。 A: 需求分析 B: 软件设计过程 C: 模块设计 D: 软件生命期 正确答案: (单选题) 4: 软件测试是软件质量保证的主要手段之一,测试的费用已超过( )的30%以上,因此提高测试的有效性非常重要。 A: 软件开发费用 B: 软件维护费用 C: 软件开发和维护费用 D: 软件研制费用 正确答案: (单选题) 5: 删除任务的操作方法可按()键。. A: Delete B: Ctrl C: Shift D: Alt 正确答案: (单选题) 6: 在Project2003中工期后面的()表示为估计工期 A: ? B: * C: % D: & 正确答案: (单选题) 7: 用户需求变更标识分为四种情况,不包括下列() A: 增加 B: 更新 C: 删除 D: 修改 正确答案: (单选题) 8: Project 提供最佳的弹性,以下说法中错误的是() A: 完成…开始地基要先建好才可以盖房子 B: 开始…开始所有长官都到齐后才进行会议 C: 完成…完成所有必要文件都备齐后才能结案 D: 开始…完成地基要先建好才可以盖房子 正确答案: (单选题) 9: 程序模块要采用缩进风格编写,缩进的空格数为()个。 A: 1 B: 2

二级考试公共基础知识单元软件工程

二级考试公共基础知识单元:软件工程 A005:构成计算机软件的是() A、程序和文档 B、程序和数据 C、程序、数据及相关文档 D、源代码 参考答案:C A006:软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是()A、可行性研究B、测试C、设计D、实现 参考答案:A A007:下面不能作为结构化方法软件需求分析工具的是() A、数据字典(DD) B、判定表 C、数据流程图(DFD图) D、系统结构图 参考答案:D A052(图):软件详细设计产生的图如下: 该图是() A、E-R图 B、PAD图 C、程序流程图 D、N-S图 参考答案:C A056:软件设计中划分模块的一个准则是() A、低内聚低耦合 B、高内聚高耦合 C、低内聚高耦合 D、高内聚低耦合 参考答案:D A057:下列选项中不属于结构化程序设计原则的是() A、模块化 B、可封装 C、逐步求精 D、自顶向下 参考答案:B A097:下列不属于软件开发阶段任务的是() A、实现 B、设计 C、可行性研究 D、测试 参考答案:C A148:面向对象方法中,继承是指() A、各对象之间的共同性质 B、类之间共享属性和操作的机制 C、一个对象具有另一个对象的性质 D、一组对象所具有的相似性质 参考答案:B A149:软件生命周期是指()

A、软件的开发过程 B、软件的运行维护过程 C、软件产品从提出、实现、使用维护到停止使用退役的过程 D、软件从需求分析、设计、实现到测试完成的过程 参考答案:C A150:软件测试的目的是() A、评估软件可靠性 B、改正程序中的错误 C、发现程序中的错误 D、发现并改正程序中的错误参考答案:C A189:下列属于系统软件的是() A、财务管理系统 B、数据库管理系统 C、杀毒软件 D、编辑软件word 参考答案:B A190:程序测试的目的是() A、执行测试用例 B、诊断和改正程序中错误 C、发现并改正程序中错误 D、发现程序中的错误 参考答案:D A228:下面对软件特点描述正确的是() A、软件在使用中存在磨损,老化问题 B、软件是一种逻辑实体,具有抽象性 C、软件复制不涉及知识产权 D、软件具有明显的制作过程 参考答案:B A229:下面属于良好程序设计风格的是() A、随意使用无条件转移语句 B、程序效率第一 C、程序输入输出的随意性 D、源程序文档化 参考答案:D A230:下面对软件测试和软件调试叙述错误的是() A、正确的执行测试用例 B、严格执行测试计划,排除测试的随意性 C、软件测试不需考虑测试成本 D、软件调试的目的是改正软件错误 参考答案:C A268:下面属于软件设计阶段产生的文档是() A、详细设计规格说明书 B、数据流程图和数据字典 C、软件需求规格说明书 D、软件确认测试计划 参考答案:A A269:软件工程包括的要素是() A、算法和工具 B、技术和管理 C、算法和过程 D、方法、工具和过程 参考答案:D A308(图):某系统结构图如下图所示,该系统结构图中最大扇出数是()。

c语言公共基础课本

第1章数据结构与算法 1.1算法 1.算法的概念:是指解题方案的准确而完整的描述 2.算法的基本特征:可行性、确定性、有穷性(有限的时间)、拥有足够的情报 3.算法的复杂度:时间复杂度和空间复杂度(1)时间复杂度:算法所需要的计算工作量(算法所执行的基本运算次数) (2)空间复杂度:执行这个算法所需要的内存空间1.2数据结构的基本概念 1.数据结构研究的三个问题 (1)逻辑结构:指反应数据元素之间逻辑关系的数据结构 (2)存储结构(物理结构):数据的逻辑结构在计算机存储空间中的存放形式。

(3)对各种数据结构进行的运算 2.数据结构定义:是指带有结构的数据元素的集合。所谓结构就是指数据元素之间的前 后件关系。 在数据结构中,没有前件的结点称为根结点,没有后件的结点为终端结点(也叫叶子结点)。3.空的数据结构:一个元素都没有的数据结构。4.数据结构的种类:线性结构与非线性结构。 线性结构:有且只有一个根结点,每一个结点最多有一个前件,也最多有一个后件。 非线性结构:如果一个数据结构不是线性结构,则称之为非线性结构。 1.3线性表及其顺序存储 1.线性表是最简单、最常用的一种线性结构。2.非空线性表的结构特征: (1)有且只有一个根结点,无前件

(2)有且只有一个终端(叶子)结点,无后件 (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。 在线性表中结点的个数n称为线性表的长度,当n=0时,称为空表。 3.线性表顺序存储结构的基本特点: (1)所有元素所占的存储空间是连续的 (2)各元素在存储空间中是按逻辑顺序依次存放的4.在长度为n的顺序存储的线性表中,当在任何位置上插入或删除一个元素概率都相等时, 插入或删除一个元素所需移动元素的平均 个数是为n/2。 1.4栈和队列 1.栈:限定在一端进行插入与删除的线性表。 2.栈的结构特点:先进后出或后进先出 3.栈的基本运算:入栈运算、退栈运算、读栈

软件工程基础知识点总结

软件工程基础部分知识点总结 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素 3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。 2)软件工程的三个要素:方法、工具和过程。 ①方法:完成软件工程项目的技术手段;

软件工程综合练习题

《软件工程》课程练习题 第一章软件工程概述 一、选择题 1、瀑布模型本质上是一种()。 A、线性迭代模型 B、顺序迭代模型 C、线性顺序模型 D、及早见产品模型 2、计算机辅助软件工程,简称()。 A、SA B、SD C、SC D、CASE 3、以下判断正确的是()。 A、所谓软件开发就是编写程序。 B、利用软件工程的思想,已成功的解决了软件危机。 C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。 D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。 4、_____是以提高软件质量为目的的技术活动。 A.技术创新 B.测试 C.技术创造 D.技术评审 5、瀑布模型的存在问题是()。 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 6、软件生命周期中所花费用最多的阶段是()。 A.详细设计 B.软件编码 C.软件测试 D.软件维护 7、计算机系统就是() A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。 8、产生软件危机的原因主要与两个方面的问题有关: A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 9、软件开发瀑布模型中的软件定义时期各个阶段依次是() A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。 D.以上顺序都不对。 10、下列选项中()是软件开发中存在不正确的观念、方法。 A.重编程、轻需求 B.重开发,轻维护 C.重技术,轻管理 D.以上三条都是 二、填空题 1、软件工程的三个基本要素包括()、()和()。 2、一般软件应该有三部分组成:()、()和()。 3、按软件的功能可将软件分成()、()和()等三类。 4、计算机软件的生存期可以分为六个步骤,它们是()、()()、()、软件测试和运行/维护。 5、软件质量是与软件产品满足规定的和隐含的需求的能力有关的()的全体。 6、软件危机是指在()所遇到的一系列严重问题。 7、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是()。 8、喷泉模型是一种以需求分析为动力,以()为驱动的模型。 三、名词解释 1、CASE 2、软件工程 3、计算机软件 2、软件生存期 四、简答题 1、什么是软件危机?其主要表现有那些? 2、程序的可移植性 3、为什么说“CASE领域是一个应用、集成和综合的领域”?

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

软件工程课后习题(含答案)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。 (2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规范的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程知识点总结

软件工程知识点总结 软件工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。接下来是为大家收集的软件工程知识点总结,以供大家学习! 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素

3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件) 1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。

《软件工程》综合练习题

《软件工程》综合练习题 一、选择题 .软件是一种( )产品。 .有形.逻辑.物质.消耗 .与计算机科学的理论研究不同,软件工程是一门( )学科。 .理论性.工程性.原理性.心理性 .软件危机的主要原因有( )。 ①软件本身的特点②用户使用不当③硬件可靠性差④对软件的错误认识⑤缺乏好的开发方法和手段 .③④.①②④.①⑤.①③ .软件工程学科出现的主要原因是( )。 .计算机的发展.其他工程科学的影响.软件危机的出现. 程序设计方法学的影响 .软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是( )。 .软件开发工程化.消除软件危机.实现软件可重用.程序设计自动化 .软件生存周期模型有多种,下列选项中,( )不是软件生存周期模型。 .螺旋模型.增量模型.功能模型.瀑布模型 .结构化方法和原型化方法是软件开发中常使用的两种基本方法,在实际的应用中,它们之间的关系表现为( )。 .相互排斥.相互补充.交替使用.独立使用 .在软件生存周期的模型中,( )吸收了软件工程“演化”的概念,适合于大型软件的开发。 .喷泉模型.基于知识的模型.变换模.螺旋模型 .瀑布模型是一种( )。 .软件开发方法.软件生存周期.程序设计方法学.软件生存周期模型 .在软件的可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的功能可行性角度考虑的是( ) .经济可行性.技术可行性.操作可行性.法律可行性 .技术可行性要解决( )。 .存在侵权否.成本、效益问题.运行方式可行.技术风险问题 .可行性研究要进行的需求分析和设计应是( )。 .详细的.全面的.简化、压缩的.彻底的 .数据流图是常用的进行软件需求分析的图形工具,其基本符号是( )。 .输入、输出、外部实体和加工.变换、加工、数据流和存储 .加工、数据流、数据存储和外部实体.变换、数据存储、加工和数据流 .系统流程图是描述( )的工具。 .逻辑系统.程序系统.体系结构.物理系统 .下列叙述中,( )是正确的。 ①软件系统中所有的信息流都可以认为是事务流②软件系统中所有的信息流都可以认为是变换流 ③事务分析和变换分析的设计步骤是基本相似的 .①.②.③.②③ .加工是对数据流图中不能再分解的基本加工的精确说明,下述( )是加工的最核心。 .加工顺序.加工逻辑.执行频率.激发条件 .系统定义明确之后,应对系统的可行性进行研究。可行性研究包括( )。 .软件环境可行性、技术可行性、经济可行性、社会可行性 .经济可行性、技术可行性、社会可行性 .经济可行性、社会可行性、系统可行性 .经济可行性、实用性、社会可行性

全国计算机二级公共基础,精选143题(含答案)

全国计算机二级公共基础143题(含答案) 1.程序测试的目的是(C) A)发现幵改正程序中的错诨 B)诊断和改正程序中的错诨 C)发现程序中的错诨 D)执行测试用例 2.下面属亍系统软件的是(D) A)编辑软件Word B)杀毒软件 C)财务管理系统 D)数据库管理系统 3.下面丌属亍软件设计阶段仸务的是(C) A)软件的总体结构设计 B)软件的数据设计 C)软件的需求分析 D)软件的详细设计 4.下面丌属亍软件需求分析阶段主要工作的是(A) A)需求变更申请 B)需求获取 C)需求分析 D)需求评审 5.软件生命周期可分为定义阶段、开发阶段和维护阶段,下面丌属亍开发阶段仸务的是(C) A)测试 B)实现 C)可行性研究 D)设计 6.构成计算机软件的是(B) A)程序和数据 B)程序、数据及相关文档 C)程序和文档 D)源代码 7.算法的有穷性是指(B) A)算法叧能被有限的用户使用 B)算法程序的运行时间是有限的 C)算法程序所处理的数据量是有限 D)算法程序的长度是有限的 8.在排序过程中,每一次数据元素的移动会产生新的逆序的排序方法是(A)

A)快速排序 B)冎泡排序

C)简单揑入排序 9.下列链表中,其逻辑结构属亍非线性结构的是(A) A)二叉链表 B)双向链表 C)循环链表 D)带链的栈 10.下列不队列结构有关联的是(C) A)多重循环的执行 B)函数的递归调用 C)先到先服务的作业调度 D)数组元素的引用 11.下列叙述中正确的是(A) A)算法的时间复杂度不穸间复杂度没有直接关系 B)一个算法的时间复杂度大,则其穸间复杂度必定小 C)一个算法的穸间复杂度大,则其时间复杂度也必定大 D)一个算法的穸间复杂度大,则其时间复杂度必定小 12.为了对有序表进行对分查找,则要求有序表(D) A)仸何存储方式 B)可以顺序存储也可以链式存储 C)叧能链式存储 D)叧能顺序存储 13.在最坏情况下(B) A)快速排序的时间复杂度不希尔排序的时间复杂度是一样的 B)希尔排序的时间复杂度比直接揑入排序的时间复杂度要小 C)快速排序的时间复杂度比希尔排序的时间复杂度要小 D)快速排序的时间复杂度比冎泡排序的时间复杂度要小 14.线性表的链式存储结构不顺序存储结构相比,链式存储结构的优点有(C) A)排序时减少元素的比较次数 B)节省存储穸间 C)揑入不删除运算效率高 D)便亍查找 15.非穸循环链表所表示的数据结构(A) A)有根结点也有叶子结点 B)没有根结点也没有叶子结点 C)没有根结点但有叶子结点 D)有根结点但没有叶子结点 16.下列叙述中错诨的是(A)

相关主题