文档库 最新最全的文档下载
当前位置:文档库 › 数据结构和算法选择题

数据结构和算法选择题

数据结构和算法选择题
数据结构和算法选择题

(1) 下面叙述正确的是______。(C)

A. 算法的执行效率与数据的存储结构无关

B. 算法的空间复杂度是指算法程序中指令(或语句)的条数

C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止

D. 以上三种描述都不对

(2) 以下数据结构中不属于线性数据结构的是______。(C)

A. 队列

B. 线性表

C. 二叉树

D. 栈

(3) 在一棵二叉树上第5层的结点数最多是______。(B)

A. 8

B. 16

C. 32

D. 15

(4) 下面描述中,符合结构化程序设计风格的是______。(A)

A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

B. 模块只有一个入口,可以有多个出口

C. 注重提高程序的执行效率

D. 不使用goto语句

(5) 下面概念中,不属于面向对象方法的是______。(D)

A. 对象

B. 继承

C. 类

D. 过程调用

(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。(B)

A. 可行性分析

B. 需求分析

C. 详细设计

D. 程序编码

(7) 在软件开发中,下面任务不属于设计阶段的是______。(D)

A. 数据结构设计

B. 给出系统模块结构

C. 定义模块算法

D. 定义需求并建立系统模型

(8) 数据库系统的核心是______。(B)

A. 数据模型

B. 数据库管理系统

C. 软件工具

D. 数据库

(9) 下列叙述中正确的是______。(C)

A. 数据库是一个独立的系统,不需要*作系统的支持

B. 数据库设计是指设计数据库管理系统

C. 数据库技术的根本目标是要解决数据共享的问题

D. 数据库系统中,数据的物理结构必须与逻辑结构一致

(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。(A)

A. 内模式

B. 外模式

C. 概念模式

D. 逻辑模式

(11) 算法的时间复杂度是指______。(C)

A. 执行算法程序所需要的时间

B. 算法程序的长度

C. 算法执行过程中所需要的基本运算次数

D. 算法程序中的指令条数

(12) 下列叙述中正确的是______。(A)

A. 线性表是线性结构

B. 栈与队列是非线性结构

C. 线性链表是非线性结构

D. 二叉树是线性结构

(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。(B)

A. 349

B. 350

C. 255

D. 351

(14) 结构化程序设计主要强调的是______。(B)

A. 程序的规模

B. 程序的易读性

C. 程序的执行效率

D. 程序的可移植性

(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是______。(D)

A. 概要设计

B. 详细设计

C. 可行性分析

D. 需求分析

(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是______。(A)

A. 控制流

B. 加工

C. 数据存储

D. 源和潭

(17) 软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及______。(B)

A. 阶段性报告

B. 需求评审

C. 总结

D. 都不正确

(18) 下述关于数据库系统的叙述中正确的是______。(A)

A. 数据库系统减少了数据冗余

B. 数据库系统避免了一切冗余

C. 数据库系统中数据的一致性是指数据类型的一致

D. 数据库系统比文件系统能管理更多的数据

(19) 关系表中的每一横行称为一个______。(A)

A. 元组

B. 字段

C. 属性

D. 码

(20) 数据库设计包括两个方面的设计内容,它们是______。(A)

A. 概念设计和逻辑设计

B. 模式设计和内模式设计

C. 内模式设计和物理设计

D. 结构特性设计和行为特性设计

(21) 算法的空间复杂度是指______。(D)

A. 算法程序的长度

B. 算法程序中的指令条数

C. 算法程序所占的存储空间

D. 算法执行过程中所需要的存储空间

(22) 下列关于栈的叙述中正确的是______。(D)

A. 在栈中只能插入数据

B. 在栈中只能删除数据

C. 栈是先进先出的线性表

D. 栈是先进后出的线性表

(23) 在深度为5的满二叉树中,叶子结点的个数为______。(C)

A. 32

B. 31

C. 16

D. 15

(24) 对建立良好的程序设计风格,下面描述正确的是______。(A)

A. 程序应简单、清晰、可读性好

B. 符号名的命名要符合语法

C. 充分考虑程序的执行效率

D. 程序的注释可有可无

(25) 下面对对象概念描述错误的是______。(A)

A. 任何对象都必须有继承性

B. 对象是属性和方法的封装体

C. 对象间的通讯靠消息传递

D. *作是对象的动态性属性

(26) 下面不属于软件工程的3个要素的是______。(D)

A. 工具

C. 方法

D. 环境

(27) 程序流程图(PFD)中的箭头代表的是______。(B)

A. 数据流

B. 控制流

C. 调用关系

D. 组成关系

(28) 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是______。(A)

A. 数据库系统

B. 文件系统

C. 人工管理

D. 数据项管理

(29) 用树形结构来表示实体之间联系的模型称为______。(B)

A. 关系模型

B. 层次模型

C. 网状模型

D. 数据模型

(30) 关系数据库管理系统能实现的专门关系运算包括______。(B)

A. 排序、索引、统计

B. 选择、投影、连接

C. 关联、更新、排序

D. 显示、打印、制表

(31) 算法一般都可以用哪几种控制结构组合而成______。(D)

A. 循环、分支、递归

B. 顺序、循环、嵌套

C. 循环、递归、选择

D. 顺序、选择、循环

(32) 数据的存储结构是指______。(B)

A. 数据所占的存储空间量

B. 数据的逻辑结构在计算机中的表示

C. 数据在计算机中的顺序存储方式

D. 存储在外存中的数据

(33) 设有下列二叉树:

对此二叉树中序遍历的结果为______。(B)

A. ABCDEF

B. DBEAFC

C. ABDECF

D. DEBFCA

(34) 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。(D)

D. 消息

A. 调用语句

C. 口令

(35) 检查软件产品是否符合需求定义的过程称为______。(A)

A. 确认测试

B. 集成测试

C. 验证测试

D. 验收测试

(36) 下列工具中属于需求分析常用工具的是______。(D)

A. PAD

B. PFD

C. N-S

D. DFD

(37) 下面不属于软件设计原则的是______。(C)

A. 抽象

B. 模块化

C. 自底向上

D. 信息隐蔽

(38) 索引属于______。(B)

A. 模式

B. 内模式

C. 外模式

D. 概念模式

(39) 在关系数据库中,用来表示实体之间联系的是______。(D)

A. 树结构

B. 网结构

C. 线性表

D. 二维表

(40) 将E-R图转换到关系模式时,实体与联系都可以表示成______。(B)

A. 属性

B. 关系

C. 键

D. 域

(41) 在下列选项中,哪个不是一个算法一般应该具有的基本特征______。(C)

A. 确定性

B. 可行性

C. 无穷性

D. 拥有足够的情报

(42) 希尔排序法属于哪一种类型的排序法______。(B)

A. 交换类排序法

B. 插入类排序法

C. 选择类排序法

D. 建堆排序法

(43) 下列关于队列的叙述中正确的是______。(C)

A. 在队列中只能插入数据

B. 在队列中只能删除数据

C. 队列是先进先出的线性表

D. 队列是先进后出的线性表

(44) 对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。(B)

A. N+1

B. N

C. (N+1)/2

D. N/2

(45) 信息隐蔽的概念与下述哪一种概念直接相关______。(B)

A. 软件结构定义

B. 模块独立性

C. 模块类型划分

D. 模拟耦合度

(46) 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。

(C)

A. 模拟现实世界中不同事物之间的联系

B. 强调模拟现实世界中的算法而不强调概念

C. 使用现实世界的概念抽象地思考问题从而自然地解决问题

D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

(47) 在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。(C)

A. 详细设计

B. 需求分析

C. 总体设计

D. 编程调试

(48) 软件调试的目的是______。(B)

A. 发现错误

B. 改正错误

C. 改善软件的性能

D. 挖掘软件的潜能

(49) 按条件f对关系R进行选择,其关系代数表达式为______。(C)

A. R|X|R

B. R|X|R

f

C. бf(R)

D. ∏f(R)

(50) 数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。(D)

A. 自顶向下

B. 由底向上

C. 由内向外

D. 由整体到局部

(51) 在计算机中,算法是指______。(C)

A. 查询方法

B. 加工方法

C. 解题方案的准确而完整的描述

D. 排序方法

(52) 栈和队列的共同点是______。(C)

A. 都是先进后出

B. 都是先进先出

C. 只允许在端点处插入和删除元素

D. 没有共同点

(53) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。(A)

A. cedba

B. acbed

C. decab

D. deabc

(54) 在下列几种排序方法中,要求内存量最大的是______。(D)

A. 插入排序

B. 选择排序

C. 快速排序

D. 归并排序

(55) 在设计程序时,应采纳的原则之一是______。(A)

A. 程序结构应有助于读者理解

B. 不限制goto语句的使用

C. 减少或取消注解行

D. 程序越短越好

(56) 下列不属于软件调试技术的是______。(B)

A. 强行排错法

B. 集成测试法

C. 回溯法

D. 原因排除法

(57) 下列叙述中,不属于软件需求规格说明书的作用的是______。(D)

A. 便于用户、开发人员进行理解和交流

B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据

C. 作为确认测试和验收的依据

D. 便于开发人员进行需求分析

(58) 在数据流图(DFD)中,带有名字的箭头表示______。(C) A. 控制程序的执行顺序

B. 模块之间的调用关系

C. 数据的流向

D. 程序的组成成分

(59) SQL语言又称为______。(C)

A. 结构化定义语言

B. 结构化控制语言

C. 结构化查询语言

D. 结构化*纵语言

(60) 视图设计一般有3种设计次序,下列不属于视图设计的是______。(B)

A. 自顶向下

B. 由外向内

C. 由内向外

D. 自底向上

(61) 数据结构中,与所使用的计算机无关的是数据的______。(C)

A. 存储结构

B. 物理结构

C. 逻辑结构

D. 物理和存储结构

(62) 栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______。(D)

A. ABCED

B. DBCEA

C. CDABE

D. DCBEA

(63) 线性表的顺序存储结构和线性表的链式存储结构分别是______。(B)

A. 顺序存取的存储结构、顺序存取的存储结构

B. 随机存取的存储结构、顺序存取的存储结构

C. 随机存取的存储结构、随机存取的存储结构

D. 任意存取的存储结构、任意存取的存储结构

(64) 在单链表中,增加头结点的目的是______。(A)

A. 方便运算的实现

B. 使单链表至少有一个结点

C. 标识表结点中首结点的位置

D. 说明单链表是线性表的链式存储实现

(65) 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指______。(B)

A. 模块间的关系

B. 系统结构部件转换成软件的过程描述

C. 软件层次结构

D. 软件开发过程

(66) 为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为______。(B)

A. PAD图

B. N-S图

C. 结构图

D. 数据流图

(67) 数据处理的最小单位是______。(C)

A. 数据

B. 数据元素

C. 数据项

D. 数据结构

(68) 下列有关数据库的描述,正确的是______。(C)

A. 数据库是一个DBF文件

B. 数据库是一个关系

C. 数据库是一个结构化的数据集合

D. 数据库是一组文件

(69) 单个用户使用的数据视图的描述称为______。(A)

A. 外模式

B. 概念模式

C. 内模式

D. 存储模式

(70) 需求分析阶段的任务是确定______。(D)

A. 软件开发方法

B. 软件开发工具

C. 软件开发费用

D. 软件系统功能

(71) 算法分析的目的是______。(D)

A. 找出数据结构的合理性

B. 找出算法中输入和输出之间的关系

C. 分析算法的易懂性和可靠性

D. 分析算法的效率以求改进

(72) n个顶点的强连通图的边数至少有______。(C)

A. n-1

B. n(n-1)

C. n

D. n+1

(73) 已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是______。

(B)

A. 堆排序

B. 直接插入排序

C. 快速排序

D. 直接选择排序

(74) 用链表表示线性表的优点是______。(A)

A. 便于插入和删除*作

B. 数据元素的物理顺序与逻辑顺序相同

C. 花费的存储空间较顺序存储少

D. 便于随机存取

(75) 下列不属于结构化分析的常用工具的是______。(D)

A. 数据流图

B. 数据字典

C. 判定树

D. PAD图

(76) 软件开发的结构化生命周期方法将软件生命周期划分成______。(A)

A. 定义、开发、运行维护

B. 设计阶段、编程阶段、测试阶段

C. 总体设计、详细设计、编程调试

D. 需求分析、功能定义、系统设计

(77) 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是______。

(C)

A. 循环的集合

B. 地址的集合

C. 路径的集合

D. 目标的集合

(78) 在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有______。(D)

A. 数据无冗余

B. 数据可共享

C. 专门的数据管理软件

D. 特定的数据模型

(79) 分布式数据库系统不具有的特点是______。(B)

A. 分布式

B. 数据冗余

C. 数据分布性和逻辑整体性

D. 位置透明性和复制透明性

(80) 下列说法中,不属于数据模型所描述的内容的是______。(C)

A. 数据结构

B. 数据*作

C. 数据查询

D. 数据约束

数据结构与算法习题及答案

第1章绪论 习题 1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。2.试举一个数据结构的例子,叙述其逻辑结构和存储结构两方面的含义和相互关系。 3.简述逻辑结构的四种基本关系并画出它们的关系图。 4.存储结构由哪两种基本的存储方法实现 5.选择题 (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.栈 6.试分析下面各程序段的时间复杂度。 (1)x=90;y=100; while(y>0) if(x>100) {x=x-10;y--;} elsex++; (2)for(i=0;i

考研数据结构必须掌握的知识点与算法-打印版

《数据结构》必须掌握的知识点与算法 第一章绪论 1、算法的五个重要特性(有穷性、确定性、可行性、输入、输出) 2、算法设计的要求(正确性、可读性、健壮性、效率与低存储量需求) 3、算法与程序的关系: (1)一个程序不一定满足有穷性。例操作系统,只要整个系统不遭破坏,它将永远不会停止,即使没有作业需要处理,它仍处于动态等待中。因此,操作系统不是一个算法。 (2)程序中的指令必须是机器可执行的,而算法中的指令则无此限制。算法代表了对问题的解,而程序则是算法在计算机上的特定的实现。 (3)一个算法若用程序设计语言来描述,则它就是一个程序。 4、算法的时间复杂度的表示与计算(这个比较复杂,具体看算法本身,一般关心其循环的次数与N的关系、函数递归的计算) 第二章线性表 1、线性表的特点: (1)存在唯一的第一个元素;(这一点决定了图不是线性表) (2)存在唯一的最后一个元素; (3)除第一个元素外,其它均只有一个前驱(这一点决定了树不是线性表) (4)除最后一个元素外,其它均只有一个后继。 2、线性表有两种表示:顺序表示(数组)、链式表示(链表),栈、队列都是线性表,他们都可以用数组、链表来实现。 3、顺序表示的线性表(数组)地址计算方法: (1)一维数组,设DataType a[N]的首地址为A0,每一个数据(DataType类型)占m个字节,则a[k]的地址为:A a[k]=A0+m*k(其直接意义就是求在数据a[k]的前面有多少个元素,每个元素占m个字节) (2)多维数组,以三维数组为例,设DataType a[M][N][P]的首地址为A000,每一个数据(DataType 类型)占m个字节,则在元素a[i][j][k]的前面共有元素个数为:M*N*i+N*j+k,其其地址为: A a[i][j][k]=A000+m*(M*N*i+N*j+k); 4、线性表的归并排序: 设两个线性表均已经按非递减顺序排好序,现要将两者合并为一个线性表,并仍然接非递减顺序。可见算法2.2 5、掌握线性表的顺序表示法定义代码,各元素的含义; 6、顺序线性表的初始化过程,可见算法2.3 7、顺序线性表的元素的查找。 8、顺序线性表的元素的插入算法,注意其对于当原来的存储空间满了后,追加存储空间(就是每次增加若干个空间,一般为10个)的处理过程,可见算法2.4 9、顺序线性表的删除元素过程,可见算法2.5 10、顺序线性表的归并算法,可见算法2.7 11、链表的定义代码,各元素的含义,并能用图形象地表示出来,以利分析; 12、链表中元素的查找 13、链表的元素插入,算法与图解,可见算法2.9 14、链表的元素的删除,算法与图解,可见算法2.10 15、链表的创建过程,算法与图解,注意,链表有两种(向表头生长、向表尾生长,分别用在栈、队列中),但他们的区别就是在创建时就产生了,可见算法2.11 16、链表的归并算法,可见算法2.12 17、建议了解所谓的静态单链表(即用数组的形式来实现链表的操作),可见算法2.13 18、循环链表的定义,意义 19、循环链表的构造算法(其与单链表的区别是在创建时确定的)、图解

数据结构选择题集锦

单项选择 ( B ) 1. 通常所说的主机是指∶ A) CPU B) CPU和内存C) CPU、内存与外存D) CPU、内存与硬盘 ( C )2. 在计算机内部,一切信息的存取、处理和传送的形式是∶ A) ACSII码B) BCD码C)二进制D)十六进制 ( D )3. 软件与程序的区别是∶ A)程序价格便宜、软件价格昂贵; B)程序是用户自己编写的,而软件是由厂家提供的; C) 程序是用高级语言编写的,而软件是由机器语言编写的; D) 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一部分。 ( C )4. 所谓“裸机”是指∶ A) 单片机B)单板机C) 不装备任何软件的计算机D) 只装备操作系统的计算机 ( D )5. 应用软件是指∶ A)所有能够使用的软件B) 能被各应用单位共同使用的某种软件 C)所有微机上都应使用的基本软件D) 专门为某一应用目的而编制的软件 (A)6. C语言中的常量可分为整型常量、实型常量、字符型常量及(枚举)四种。 (A)符号常量(B)长整型常量(C)逻辑常量(D)二进制整数 ( C )7. 编译程序的功能是∶ A)发现源程序中的语法错误B)改正源程序中的语法错误 C)将源程序编译成目标程序D)将某一高级语言程序翻译成另一种高级语言程序 (A)8. 系统软件中最重要的是∶ A) 操作系统B) 语言处理系统C) 工具软件D) 数据库管理系统 ( C )9. 可移植性最好的计算机语言是∶ A) 机器语言B)汇编语言C) 高级语言D) 自然语言

( B )10. 非线性结构是数据元素之间存在一种: A)一对多关系B)多对多关系C)多对一关系D)一对一关系 ( C )11. 数据结构中,与所使用的计算机无关的是数据的结构; A) 存储B) 物理C) 逻辑D) 物理和存储 ( C )12. 算法分析的目的是: A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系 C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性 (A)13. 算法分析的两个主要方面是: A) 空间复杂性和时间复杂性B) 正确性和简明性 C) 可读性和文档性D) 数据复杂性和程序复杂性 ( C )14. 计算机算法指的是: A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法 ( B )15. 计算机算法必须具备输入、输出和等5个特性。 A) 可行性、可移植性和可扩充性B) 可行性、确定性和有穷性 C) 确定性、有穷性和稳定性D) 易读性、稳定性和安全性 ( C )16.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为: (A)存储结构(B)逻辑结构(C)顺序存储结构(D)链式存储结构 ( B )17.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 (A)110 (B)108 (C)100 (D)120 (A)18. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:(A)访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) (B)在第i个结点后插入一个新结点(1≤i≤n) (C)删除第i个结点(1≤i≤n) (D)将n个结点从小到大排序 ( B )19. 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素 (A)8 (B)63.5 (C)63 (D)7 (A)20. 链接存储的存储结构所占存储空间: (A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针

数据结构和C++程序设计_题库

《数据结构》 Part1 一.选择 1. 组成数据的基本单位是() A)数据项B)数据类型C)数据元素D)数据变量 2.算法分析的目的是() A)找出数据结构的合理性B)研究算法的输入/输出关系 C)分析算法的效率以求改进D)分析算法的易读性 3.在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是()A)O(1) B)0(n) C)O(n^2) D)O(nlog2n) 4.若线性表采用顺序存储结构,每个元素占用4个存储单元,第一个元素的存储地址为100,则第12个元素的存储地址是() A)112 B)144 C)148 D)412 5.下面关于线性表的叙述中,错误的是() A)顺序表使用一维数组实现的线性表B)顺序表必须占用一片连续的存储单元. C)顺序表的空间利用率高于链表D)在单链表中,每个结点只有一个链域. 6.在需要经常查找结点的前驱与后继的情况下,使用()比较合适 A)单链表B)双链表C)顺序表D)循环链表 7.队列通常采用的两种存储结构是() A)顺序存储结构和链式存储结构B)散列方式和索引方式 C)链表存储结构和线性存储结构D)线性存储结构和非线性存储结构 8.在一个单链表中,若删除p所指结点的后继结点,则执行() A)p->next=p->next->next;B)p=p->next;p->nex=p->next->next; C)p->next=p->next;D)p=p->next->next; 9.若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间 A)单链表B)仅有头指针的单循环链表C)双链表D)仅有尾指针的单循环链表 10.按二叉树的定义,具有三个结点的二元树共有()种形态。 A)3 B)4 C)5 D)6 11.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序()A)发生改变B)不发生改变C)不能确定D)以上都不对12.深度为5的二叉树至多有()个结点 A)16 B)32 C)31 D)10 13.在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,那么度为0的结点数为()个。 A)4 B)5 C)6 D)7 14.对于一个具有n个顶点的无向图,若采用邻接表表示,则存放表头结点的数组(顶点表)的大小为() A)n B)n+1 C)n-1 D)n/2 15.静态查找表和动态查找表二者的根本差别在于()

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查 《数据结构》试卷 (答案一律写在答题纸上,在本试卷上做答无效) 一、选择(每题1分,共10分) 1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D) A.O(0) B.O(1) C.O(n) D.O(n2) 2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D) A.543612 B.453126 C.346512 D.234156 3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B ) A.8 B.9 C.10 D.11 4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B ) A. m-n B.m-n-1 C.n+1 D.m+n 5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B) A.9 B.11 C.15 D.不确定 6.下列哪一个方法可以判断出一个有向图是否有环。(A) A.深度优先遍历 B.拓扑排序 C.求最短路径 D.求关键路径 7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。 A.73 B.234 C.235 D.236 8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B) A.(100,80,90,60,120,110,130) B.(100, 120, 110,130,80, 60,90) C.(100,60,80,90,120,110,130) D.(100,80, 60,90, 120, 130,110) 9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B ) A.选择排序 B.起泡排序 C.快速排序 D.插入排序 10.对线性表进行折半查找时,要求线性表必须(D) A.以顺序方式存储 B.以顺序方式存储,且数据元素有序

经典数据结构面试题(含答案)

栈和队列的共同特点是__________________________ .栈通常采用的两种存储结构是______________________ .用链表表示线性表的优点是_______________________ 8.在单链表中,增加头结点的目的是___________________ 9.循环链表的主要优点是________________________- 12.线性表的顺序存储结构和线性表的链式存储结构分别是 __________________________ 13.树是结点的集合,它的根结点数目是_____________________ 14.在深度为5的满二叉树中,叶子结点的个数为_______________ 15.具有3个结点的二叉树有(_____________________ 16.设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为____________________ 17.已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是 ____________________________ 18.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为______________________ 19.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是_______________________ 20.数据库保护分为:安全性控制、完整性控制、并发性控制和数据的恢复。 在计算机中,算法是指_______________________ 算法一般都可以用哪几种控制结构组合而成_____________________ .算法的时间复杂度是指______________________ 5. 算法的空间复杂度是指__________________________ 6. 算法分析的目的是__________________________

数据结构算法设计题复习题

算法设计题 1. 设二叉树bt采用二叉链表结构存储。试设计一个算法输出二叉树中所有非叶子结点,并求出非叶子结点的个数。 【答案】 int count=0; void algo2(BTNode *bt){ if (bt){ if(bt->lchild || bt->rchild){ printf(bt->data); count++; } algo2(bt->lchild); algo2(bt->rchild); } } 2. 阅读下列函数arrange() int arrange(int a[],int 1,int h,int x) {//1和h分别为数据区的下界和上界 int i,j,t; i=1;j=h; while(i=x)j--; while(i=x)i++; if(i

数据结构选择题复习

1.数据逻辑结构包括线性结构、树形结构和图状结构三种类型,树形结构和图状结构合称非线性结构。 2.数据的逻辑结构分为集合、线性结构、树形结构和图状结构 4种。 3.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 1 个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有 1 个后续结点。 4.线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。 5.在树形结构中,树根结点没有前驱结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点可以任意多个。 6.数据结构的基本存储方法是顺序、链式、索引和散列存储。 7.衡量一个算法的优劣主要考虑正确性、可读性、健壮性和时间复杂度与空间复杂度。 8.评估一个算法的优劣,通常从时间复杂度和空间复杂度两个方面考察。 9.算法的5个重要特性是有穷性、确定性、可行性、输入和输出。 10.在一个长度为n的顺序表中删除第i个元素时,需向前移动 n-i 个元素。 11.在单链表中,要删除某一指定的结点,必须找到该结点的前驱结点。 12.在双链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向后继结点。 13.在顺序表中插入或删除一个数据元素,需要平均移动 n 个数据元素,移动数据元素的个数与位置有关。 14.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表的元素是,应采用顺序存储结构。 15.根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成单链表和双链表。 16.顺序存储结构是通过下标表示元素之间的关系的;链式存储结构是通过指针表示元素之间的关系的。 17.带头结点的循环链表L中只有一个元素结点的条件是 L->next->next=L 。

国家电网数据结构与算法试题

一、选择题 1.在逻辑上可以把数据结构分成(A) A.线性结构和非线性结构 B.动态结构和静态结构 C.紧凑结构和非紧凑结构 D.内部结构和外部结构 2.单链表中各结点之间的地址(C) A.必须连续 B.部分必须连续 C.不一定连续 D.以上均不对 3.在一个长度为n的顺序表中向第i个元素(0front==L C.P==NULL D.P->rear==L 12. 已知P为单链表中的非首尾结点,删除P结点的后继结点Q的语句为(A)。 A.P->NEXT=Q->NEXT;FREE(Q); B.Q->NEXT=P; FREE(Q); C.Q->NEXT=P->NEXT;FREE(Q); D.P->NEXT=S;S->NEXT=P; 13.循环队列SQ队满的条件是(B)。

数据结构和算法课程设计题目

北方民族大学课程设 计 课程名称: 数据结构与算法 院(部)名称:信息与计算科学学院 组长姓名学号 同组人员姓名 指导教师姓名:纪峰 设计时间:2010.6.7----2009.6.27 一、《数据结构与算法》课程设计参考题目

(一)参考题目一(每位同学选作一个,同组人员不得重复) 1、编写函数实现顺序表的建立、查找、插入、删除运算。 2、编写函数分别实现单链表的建立、查找、插入、删除、逆置算法。 3、编写函数实现双向链表的建立、插入、删除算法。 4、编写函数实现顺序栈的进栈、退栈、取栈顶的算法。 5、编写函数实现链栈的进栈、退栈、取栈顶的算法。 6、编写函数实现双向顺序栈的判空、进栈、出栈算法。 7、编写函数实现循环队列的判队空、取队头元素、入队、出队算法。 8、编写函数实现链环队列的判队空、取队头节点、入队、出队算法。 9、编写函数实现串的,求串长、连接、求字串、插入、删除等运算。 10、分别实现顺序串和链串的模式匹配运算。 11、实现二叉树的建立,前序递归遍历和非递归遍历算法。 12、实现二叉树的建立,中序递归遍历和非递归遍历算法。 13、实现二叉树的建立,后序递归遍历和非递归遍历算法。 14、实现二叉树的中序线索化,查找*p结点中序下的前驱和后继结点。 15、分别以临接表和邻接矩阵作为存储就够实现图的深度优先搜索和广度优先搜索算法。 16、利用线性探测处理冲突的方法实现散列表的查找和插入算法。 (二)参考题目二(每三人一组,任选三个题目完成) 1.运动会分数统计(限1 人完成) 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 功能要求: 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分, 3)可以按学校编号或名称、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5)数据存入文件并能随时查询 6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有合理的提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

数据结构与算法分析习题与参考答案

大学 《数据结构与算法分析》课程 习题及参考答案 模拟试卷一 一、单选题(每题 2 分,共20分) 1.以下数据结构中哪一个是线性结构?( ) A. 有向图 B. 队列 C. 线索二叉树 D. B树 2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点, 则执行如下( )语句序列。 A. p=q; p->next=q; B. p->next=q; q->next=p; C. p->next=q->next; p=q; D. q->next=p->next; p->next=q; 3.以下哪一个不是队列的基本运算?() A. 在队列第i个元素之后插入一个元素 B. 从队头删除一个元素 C. 判断一个队列是否为空 D.读取队头元素的值 4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( ) 个不同的字符串? A.14 B.5 C.6 D.8 5.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。 以下6-8题基于图1。 6.该二叉树结点的前序遍历的序列为( )。 A.E、G、F、A、C、D、B B.E、A、G、C、F、B、D C.E、A、C、B、D、G、F D.E、G、A、C、D、F、B 7.该二叉树结点的中序遍历的序列为( )。 A. A、B、C、D、E、G、F B. E、A、G、C、F、B、D C. E、A、C、B、D、G、F E.B、D、C、A、F、G、E 8.该二叉树的按层遍历的序列为( )。

A.E、G、F、A、C、D、B B. E、A、C、B、D、G、F C. E、A、G、C、F、B、D D. E、G、A、C、D、F、B 9.下面关于图的存储的叙述中正确的是( )。 A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关 B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关 C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关 D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关 10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建 堆的结果?( ) A. a,g,h,m,n,p,q,x,z B. a,g,m,h,q,n,p,x,z C. g,m,q,a,n,p,x,h,z D. h,g,m,p,a,n,q,x,z 二、填空题(每空1分,共26分) 1.数据的物理结构被分为_________、________、__________和___________四种。 2.对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_________, 在表尾插入元素的时间复杂度为____________。 3.向一个由HS指向的链栈中插入一个结点时p时,需要执行的操作是________________; 删除一个结点时,需要执行的操作是______________________________(假设栈不空而 且无需回收被删除结点)。 4.对于一棵具有n个结点的二叉树,一个结点的编号为i(1≤i≤n),若它有左孩子则左 孩子结点的编号为________,若它有右孩子,则右孩子结点的编号为________,若它有 双亲,则双亲结点的编号为________。 5.当向一个大根堆插入一个具有最大值的元素时,需要逐层_________调整,直到被调整 到____________位置为止。 6.以二分查找方法从长度为10的有序表中查找一个元素时,平均查找长度为________。 7.表示图的三种常用的存储结构为_____________、____________和_______________。 8.对于线性表(70,34,55,23,65,41,20)进行散列存储时,若选用H(K)=K %7 作为散列函数,则散列地址为0的元素有________个,散列地址为6的有_______个。 9.在归并排序中,进行每趟归并的时间复杂度为______,整个排序过程的时间复杂度为 ____________,空间复杂度为___________。 10.在一棵m阶B_树上,每个非树根结点的关键字数目最少为________个,最多为________ 个,其子树数目最少为________,最多为________。 三、运算题(每题 6 分,共24分) 1.写出下列中缀表达式的后缀形式: (1)3X/(Y-2)+1 (2)2+X*(Y+3) 2.试对图2中的二叉树画出其: (1)顺序存储表示的示意图; (2)二叉链表存储表示的示意图。 3.判断以下序列是否是小根堆? 如果不是, 将它调 图2 整为小根堆。 (1){ 12, 70, 33, 65, 24, 56, 48, 92, 86, 33 } (2){ 05, 23, 20, 28, 40, 38, 29, 61, 35, 76, 47, 100 } 4.已知一个图的顶点集V和边集E分别为: V={1,2,3,4,5,6,7};

数据结构选择题

1.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( 1)。 选择一项: 1. 108 2. 110 3. 100 4. 120 2.在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是(b) 选择一项: a. 删除第i个结点(1≤i≤n) b. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) c. 将n个结点从小到大排序 d. 在第i个结点后插入一个新结点(1≤i≤n) 3.以下说法错误的是( d)。 选择一项: a. 由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活 b. 顺序存储的线性表可以随机存取 c. 求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低 d. 线性表的链式存储结构优于顺序存储结构 4.单链表的存储密度( b)。 选择一项: a. 不能确定 b. 小于1 c. 大于1 d. 等于1 5.向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动的元素个数为( c)。 选择一项: a. 63 b. 7 c. 63.5 d. 8 6.在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( b)个元素。 选择一项: a. n-i b. n-i+1 c. i d. n-i-1 7.在单链表中,要将s所指结点插入到p所指结点之后,其语句应为(a )。 选择一项: a. s->next=p->next; p->next=s; b. (*p).next=s; (*s).next=(*p).next; c. s->next=p->next; p->next=s->next; d. s->next=p+1; p->next=s; 8.在双向循环链表中,在p指针所指的结点后插入q所指向的新结点,其修改指针的操作是(b )。 选择一项: a. p->next=q; q->prior=p; p->next->prior=q; q->next=q; b. q->prior=p; q->next=p->next; p->next->prior=q; p->next=q; c. p->next=q; p->next->prior=q; q->prior=p; q->next=p->next; d. q->prior=p; q->next=p->next; p->next=q; p->next->prior=q; 9.在双向链表存储结构中,删除p所指的结点时须修改指针(c )。 选择一项: a. p->prior=p->next->next; p->next=p->prior->prior; b. p->next=p->next->next; p->next->prior=p; c. p->next->prior=p->prior; p->prior->next=p->next; d. p->prior->next=p; p->prior=p->prior->prior; 10.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是(c )。 选择一项: a. 2n b. n-1 c. n d. 2n-1 11.线性表L=(a1,a2,……an),下列说法正确的是( b)。 选择一项: a. 表中诸元素的排列必须是由小到大或由大到小 b. 除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。 c. 每个元素都有一个直接前驱和一个直接后继 d. 线性表中至少有一个元素 12.线性表若采用链式存储结构时,要求内存中可用存储单元的地址(d )。 选择一项: a. 部分地址必须是连续的 b. 一定是不连续的 c. 必须是连续的 d. 连续或不连续都可以 13.线性表L在(d )情况下适用于使用链式结构实现。 选择一项: a. L中结点结构复杂 b. L中含有大量的结点 c. 需经常修改L中的结点值

数据结构(C语言)【经典题库】含标准答案

《数据结构与算法》复习题 选择题 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑 B.存储 C.逻辑和存储 D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。A.数据的处理方法 B.数据元素的类型 C.数据元素之间的关系 D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何 B.结点个数的多少 C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位 B.数据元素是数据的最小单位

C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是 O(n2) 。 s =0; for( I =0; i

数据结构考试题(二)

数据结构试卷(一) 一、选择题(30分) 1.设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。 (A) O(n) (B) O(nlog2n) (C) O(1) (D) O(n2) 2.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。 (A) 2k-1 (B) 2k(C) 2k-1(D) 2k-1 3.设某无向图中有n个顶点e条边,则该无向图中所有顶点的入度之和为()。 (A) n (B) e (C) 2n (D) 2e 4.在二叉排序树中插入一个结点的时间复杂度为()。 (A) O(1) (B) O(n) (C) O(log2n) (D) O(n2) 5.设某有向图的邻接表中有n个表头结点和m个表结点,则该图中有()条有向边。 (A) n (B) n-1 (C) m (D) m-1 6.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行()趟的分配和回收才能使得初始关键字序列变成有序序列。 (A) 3 (B) 4 (C) 5 (D) 8 7.设用链表作为栈的存储结构则退栈操作()。 (A) 必须判别栈是否为满(B) 必须判别栈是否为空 (C) 判别栈元素的类型(D) 对栈不作任何判别 8.下列四种排序中()的空间复杂度最大。 (A) 快速排序(B) 冒泡排序(C) 希尔排序(D) 堆 9.设某二叉树中度数为0的结点数为N0,度数为1的结点数为N l,度数为2的结点数为N2,则下列等式成立的是()。 (A) N0=N1+1 (B) N0=N l+N2(C) N0=N2+1 (D) N0=2N1+l 10.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不 超过()。 (A) log2n+1 (B) log2n-1 (C) log2n (D) log2(n+1) 二、填空题(42分) 1.1.设有n个无序的记录关键字,则直接插入排序的时间复杂度为________,快速排序的平均时间复杂度为_________。 2.2.设指针变量p指向双向循环链表中的结点X,则删除结点X需要执行的语句序列为_________________________________________________________(设结点中的两个指针域分别为llink和rlink)。 3.3.根据初始关键字序列(19,22,01,38,10)建立的二叉排序树的高度为____________。4.4.深度为k的完全二叉树中最少有____________个结点。 5.5.设初始记录关键字序列为(K1,K2,…,K n),则用筛选法思想建堆必须从第______个元素开始进行筛选。 6.6.设哈夫曼树中共有99个结点,则该树中有_________个叶子结点;若采用二叉链表作为存储结构,则该树中有_____个空指针域。 7.7.设有一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储________个队列元素;当前实际存储________________个队列元素(设头指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置)。 8.8.设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_______个数据元素;删除第i个位置上的数据元素需要移动表中_______个元素。9.9.设一组初始记录关键字序列为(20,18,22,16,30,19),则以20为中轴的一趟快速排序结果为______________________________。 10.10.设一组初始记录关键字序列为(20,18,22,16,30,19),则根据这些初始关键字序列建成的初始堆为________________________。 11.11.设某无向图G中有n个顶点,用邻接矩阵A作为该图的存储结构,则顶点i和顶点j互为邻接点的条件是______________________。

数据结构经典例题

数据结构经典例题 1.设计一个算法将L拆分成两个带头节点的单链表L1和L2。 void split(LinkList *&L,LinkList *&L1,LinkList *&L2) { LinkList *p=L->next,*q,*r1; //p指向第1个数据节点 L1=L; //L1利用原来L的头节点 r1=L1; //r1始终指向L1的尾节点 L2=(LinkList *)malloc(sizeof(LinkList));//创建L2的头节点 L2->next=NULL; //置L2的指针域为NULL while (p!=NULL) { r1->next=p; //采用尾插法将*p(data值为ai)插入L1中 r1=p; p=p->next; //p移向下一个节点(data值为bi) q=p->next; //由于头插法修改p的next域,故用q保存*p的后继节点 p->next=L2->next; //采用头插法将*p插入L2中 L2->next=p; p=q; //p重新指向ai+1的节点 } r1->next=NULL; //尾节点next置空 } 2.查找链表中倒数第k个位置上的节点(k为正整数)。若查找成功,算法输出该节点的data域的值,并返回1;否则,只返回0。 typedef struct LNode {int data; struct LNode *link; } *LinkList; int Searchk(LinkList list,int k) { LinkList p,q; int count=0; p=q=list->link; while (p!=NULL) { if (countlink; p=p->link; } if (count

大数据结构与算法设计知识点

数据结构与算法设计知识点 试题类型: 本课程为考试科目(闭卷笔试),试题类型包括:概念填空题(10 %),是非判断题(10 %),单项选择题(40 %),算法填空题(10%),算法应用题(20 %),算法设计题(10 %)。 第一章绪论 重点容及要求: 1、了解与数据结构相关的概念(集合、数据、数据元素、数据项、关键字、元 素之间的关系等)。 数据:所有能被输入到计算机中,且能被计算机处理的符号的 集合。是计算机操作的对象的总称。是计算机处理的信息的某种特定 的符号表示形式。 数据元素:是数据(集合)中的一个“个体”,数据结构中的基 本单位,在计算机程序常作为一个整体来考虑和处理。 数据项:是数据结构中讨论的最小单位,数据元素可以是一个或 多个数据项的组合 关键码:也叫关键字(Key),是数据元素中能起标识作用的数据 项。 其中能起到唯一标识作用的关键码称为主关键码(简称主码); 否则称为次关键码。通常,一个数据元素只有一个主码,但可以有多 个次码。 关系:指一个数据集合中数据元素之间的某种相关性。 数据结构:带“结构”的数据元素的集合。这里的结构指元素之 间存在的关系。 数据类型:是一个值的集合和定义在此集合上的一组操作的总

称。 2、掌握数据结构的基本概念、数据的逻辑结构(四种)和物理结构(数据元素 的表示与关系的表示、两类存储结构:顺序存储结构和链式存储结构)。 数据结构包括逻辑结构和物理结构两个层次。 数据的逻辑结构:是对数据元素之间存在的逻辑关系的一种抽象的描述,可以用一个数据元素的集合和定义在此集合上的若干关系来表示 逻辑结构有四种:线性结构、树形结构、图状结构、集合结构数据的物理结构:是其逻辑结构在计算机中的表示或实现,因此又称其为存储结构。 存储结构:顺序存储结构和链式存储结构 顺序存储结构:利用数据元素在存储器中相对位置之间的某种特定的关系来表示数据元素之间的逻辑关系; 链式存储结构:除数据元素本身外,采用附加的“指针”表示数据元素之间的逻辑关系。 3、了解算法分析的基本方法,掌握算法时间复杂度相关的概念。 算法:是为了解决某类问题而规定的一个有限长的操作序列 或处理问题的策略 一个算法必须满足以下五个重要特性:1.有穷性2.确定性3.可行性4.有输入 5.有输出 设计算法时,通常还应考虑满足以下目标: 1.正确性, 2.可读性, 3.健壮性 4.高效率与低存储量需求

相关文档
相关文档 最新文档