知识大全 数据结构笔试题
Posted 结点
篇首语:学向勤中得,萤窗万卷书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构笔试题相关的知识,希望对你有一定的参考价值。
第一部分 选择题
一 单项选择题(本大题共 小题 每小题 分 共 分)在每小题列出的四个选项中只有一个选项是符合题目要求的 请将正确选项前的字母填在题后的括号内
算法分析的目的是( ? C? )
A 找出数据结构的合理性 B 研究算法中的输入/输出关系
C 分析算法的效率以求改进 D 分析算法的易读性
在需要经常查找结点的前驱与后继的场合中 使用(? B )比较合适
A 单链表 B 双链表
C 顺序表 D 循环链表
下面关于线性表的叙述中 错误的为(? D ? )
A 顺序表使用一维数组实现的线性表
B 顺序表必须占用一片连续的存储单元
C 顺序表的空间利用率高于链表
D 在链表中 每个结点只有一个链域
带头结点的单链表head为空的判断条件是( B )
A head=NIL ? B head >next=NIL
C head >next=head ? D head< >NIL
队列通常采用两种存储结构是( A )
A 顺序存储结构和链表存储结构 B 散列方式和索引方式
C 链表存储结构和数组 D 线性存储结构和非线性存储结构
按照二叉树的定义 具有 个结点的二叉树有(? C? )种
A ? B ? C ? D
二叉树的结构如下图所示 其中序遍历的序列为( ? )
A a b d g c e f h
B d g b a e c h f
C g d b e h f c a
D a b c d e f g h
深度为 的二叉树至多有(? C? )个结点 ( ^M )
A ? B ? C ? D
对于一个具有n个顶点的无向图 若采用邻接表表示 则存放表头结点的数组的大小为 (? A? )
A n ? B n+ ? C n ? D n+边数
在一个具有n个顶点的无向图中 要连通全部顶点至少需要(? C? )条边
A n ? B n+ ? C n ? D n/
静态查找表与动态查找表二者的根本差别在于(? B? )
A 它们的逻辑结构不一样
B 施加在其上的操作不同
C 所包含的数据元素的类型不一样
D 存储实现不一样
散列文件使用散列函数将记录的关键字值计算转化为记录的存放地址 因为散列函数不是一对一的关系 所以选择好的( ?D? )方法是散列文件的关键
A 散列函数 ? B 除余法中的质数
C 冲突处理 ? D 散列函数和冲突处理
对于大文件的排序要研究在外设上的排序技术 即( C? )
A 快速排序法 ? B 内排序法
C 外排序法 ? D 交叉排序法
设有 个无序的元素 希望用最快的速度挑选出其中前 个最大的元素 最好选用(? C? )法
A 冒泡排序 B 快速排序
C 堆排序 D 基数排序
二 判断题(判断下列各题 正确的在题干后面括号内打 √ 错误的打 × 每小题 分 共 分)
所谓数据的逻辑结构指的是数据元素之间的逻辑关系 ( ? )
在线性结构中 每个结点都有一个直接前驱和一个直接后继 ( ? )
插入和删除是数组的两种基本操作 ( ? )
在链栈的头部必须要设置头结点 ( ? )
在二叉树中插入结点则该二叉树便不再是二叉树 ( ? )
查找表的逻辑结构是集合 ( ? )
静态查找表的检索与修改被分成两个不交叉的阶段分别进行 ( ? )
在索引顺序文件中插入新的记录时 必须复制整个文件 ( ? )
如果某种排序算法是不稳定的 则该方法没有实际的应用价值 ( ? )
对于n个记录的集合进行冒泡排序 在最坏情况下所需要的时间是 (n )( ? )
三 填空题(每小题 分 共 分)
程序设计的实质是________和________
设由字符串a=′data′ b=′structure′ c=′ ′ 则a与c连接然后与b连接的结果为 ________
通常单链表的头结点指的是________ 单链表的首结点指的是________
一个队列的入队序列是a b c d 则队列的输出序列为________
栈结构通常采用的两种存储结构是________和________
具有N个结点的完全二叉树的深度为________
树的三种主要的遍历方法是 ________ ________和层次遍历
在无向图的邻接矩阵A中 若A〔i j〕等于 则A〔j i〕等于________
采用散列技术实现散列表时 需要考虑的两个主要问题是 构造________和解决________
索引顺序表上的查找分两个阶段 ( )________ ( )________
散列文件中的记录通常是成组存放的 若干的记录组成一个存储单位 称作________
就文件而言 按用户的观点所确定的基本存储单元称为________ 按外设的观点所确定的基本存储单元称为________
文件的检索有三种方式 ________存取 ________存取和按关键字存取
最简单的交换排序方法是________排序
外排序的基本方法是________
四 应用题(每小题 分 共 分)
假定在学生的档案中含有 姓名 学号 年龄 性别 如采用线性表作为数据结构来实现档案管理问题 分别给出线性表的在顺序实现下的类型定义和在链接实现下的类型定义
有一份电文中共使用五个字符 a b c d e 它们的出现频率依次为 请构造相应的哈夫曼树(左子树根结点的权小于等于右子树根结点的权) 求出每个字符的哈夫曼编码
有初始的无序序列为 给出对其进行归并排序(升序)的每一趟的结果
五 设计题(每小题 分 共 分)
假设用一个循环单链表来表示队列(称为循环链队) 该队列中只设一个队尾指 针rear 不设队首指针 请编写向循环链队中插入一个元素X的过程
以邻接表为存储结构 写出连通图的深度优先搜索算法
设有一组关键字 采用散列函数 H(key)=key MOD 采用线性探测法解决冲突 试在 ~ 的散列地址空间中对该关键字序列构造散列表
数据结构导论试题参考答案
一 单项选择题(每小题 分 共 分) ? C ? B ? D ? B ? A
C ? B? C ? A ? C
B D C C
二 判断题(每小题 分 共 分)
× ? × ? × × ? ×
√ ? √ ? × × √ 三 填空题(每小题 分 共 分) ? ( )数据表示? ( )数据处理 ? ′data structure′ ? ( )在单链表第一个结点之前增设的一个类型相同的结点
( )表结点中的第一个结点 ? a b c d ? ( )顺序存储结构? ( )链表存储结构
〔log N〕+
( )先根遍历? ( )后根遍历
( )散列函数? ( )冲突
( )确定待查元素所在的块 ( )在块内查找待查的元素
桶
( )逻辑结构 ? ( )物理结构
( )顺序? ( )直接
冒泡排序 ? 归并 四 应用题(每小题 分 共 分) ? 顺序实现
const maxsize∶= ; {顺序表的容量} ? type datatype=record {档案数据类型}
name∶string〔 〕;{姓名}
number∶integer;{学号}
sex∶boolean;{性别}
age∶integer;{年龄}
end;
type slist =record
data∶array 〔 maxsize〕 of datatype;
last∶integer;
end;
链接实现
type pointer=↑node;
node=record
name∶string 〔 〕;{姓名}
number∶interger {学号}
sex∶ boolean;{性别}
age∶integer;{年龄}
next∶pointer;{结点的后继指针}
end;
list=pointer;
哈夫曼树为
相应的哈夫曼编码为
a: ? b: ? c: ? d: ? e:
画出正确的哈夫曼树给 分 写出相应哈夫曼编码给 分
初始无序序列 ? ? ? ?
{ } { } { } { } { } { } { }{ } { }{ }
第一次归并 { } { } { }? { }? { }
第二次归并 ? { ? ? } { ? }? { }
第三次归并 { ? }? { }
第四次归并 { ? ? }
五 设计题(每小题 分 共 分)
PROCEDURE insert (VAR rear∶pointer; x∶integer);
VAR head tmp∶pointer;
BEGIN
new(tmp);
tmp↑ data∶=x;
if (rear=NIL) then {循环队列为空 新结点是队列的首结点}
BEGIN
rear∶=tmp;
rear↑ next∶=tmp;
END
else {队列不空 将新结点插入在队列尾}
BEGIN
head∶=rear↑ next;
rear↑ next∶=tmp;
rear∶=tmp;
rear↑ next∶=head;
END
END;
procedure dfs(g:adj list;v ∶integer);
{从v 出发 深度优先遍历图g}
begin
write(v );
visited(v )∶=true; ? {标志v 已访问}
p=g〔v 〕 link; ? {找v 的第一个邻接点}
while p< >nil do
〔 if not (visited〔p↑ vertex〕)
then dfs(g p↑ vertex);
p∶=p↑ next〕 {找v 的下一个邻接点}
end;
以邻接表为存储结构 连通图的深度优先搜索就是顺序查找链表
构造过程如下
H( )= MOD =
H( )= MOD =
H( )= MOD =
H( )= MOD = (冲突)
H( )=( + ) MOD =
H( )= MOD =
H( )= MOD =
H( )= MOD = (冲突)
H( )=( + ) MOD = (仍冲突)
H( )=( + ) MOD =
H( )= MOD = (冲突)
H( )=( + ) MOD = (冲突)
H( )=( + ) MOD = (仍冲突)
H( )=( + ) MOD =
H( )= MOD = (冲突)
H( )=( + ) MOD = (仍冲突)
H( )=( + ) MOD =
H( )= MOD =
H( )= MOD = (冲突)
H( )=( + ) MOD = (仍冲突)
H( )=( + ) MOD =
H( )= MOD = (冲突)
H( )=( + ) MOD =
因此 各关键字相应的地址分配如下
address( )=
address( )=
address( )=
address( )=
address( )=
address( )=
address( )=
address( )=
address( )=
address( )=
address( )=
address( )=
cha138/Article/program/sjjg/201404/30585相关参考
objectivec中的数字对象都有哪些简述它们与基本数据类型的区别是什么用NSLog函数输出一个浮点类型结果四舍五入并保留一位小数截取字符串|中|字符前面及后面的数据分别输出它们objectivec
杭州-DOTNET笔试题集(摘录) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!c#笔试题总结(二
Delphi笔试题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!rtlbpl是什么?有什么用?de
DelphiCS笔试题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Listatleastsort
面试ASP.NET程序员的笔试题和机试题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 面试一般
cha138/Article/program/sjjg/201405/30740
一套Delphi的笔试题(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一选择题(共道)用户开
C语言笔试题带答案(七) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一选择题(()~()每小题分
众鸿汽车C++笔试题整理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!—见C++高质量编程七?《》
importjavautilArrayList;importjavautilRandom;importjavaxswingJFrame;importjavaxswingJTextArea;public