数据结构习题集.pdf
《数据结构习题集.pdf》由会员分享,可在线阅读,更多相关《数据结构习题集.pdf(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 一 章 概 论.2第 二 章 线 性 表.8第 三 章 栈 和 队 列.16第 四 章 串.25第 五 章 数 组 和 广 义 表.31第 六 章 树.38第 七 章 图.49第 八 章 查 找.61第 九 章 排 序.72想 据 错 构 习 题 条 第 一 章 概 论 一、选 择 题 1.算 法 指 的 是 A.计 算 机 程 序 C.排 序 方 法 案 B.解 决 问 题 的 计 算 方 法 D.解 决 问 题 步 骤 的 有 限 序 列 2.平 均 时 间 复 杂 度 是 指 所 有 可 能 的 输 入 实 例 均 以 A.等 概 率 出 现 的 情 况 下,算 法 的 期 望 运
2、行 时 间 B.不 等 概 率 出 现 的 情 况 下,算 法 的 期 望 运 行 时 间 C.最 坏 情 况 下,算 法 的 期 望 运 行 时 间 D.最 好 情 况 下,算 法 的 期 望 运 行 时 间 3.通 过 建 立 结 点 的 关 键 字 与 存 储 地 址 之 间 的 映 像 关 系 所 实 现 的 存 储 方 法 是 A.顺 序 存 储 B.链 式 存 储 C.索 引 顺 序 存 储 D.散 列 存 储 方 法 4.数 据 的 运 算 是 数 据 结 构 不 可 分 割 的 一 个 方 面,根 据 运 算 集 合 及 运 算 的 性 质 不 同 A.可 以 形 成 不 同
3、的 数 据 结 构 C.逻 辑 结 构 将 发 生 变 化 5.数 据 的 基 本 单 位 是 A.数 据 对 象 C.数 据 项 6.线 性 结 构 是 一 种()A 一 对 一 的 关 系 B.不 会 导 致 不 同 的 数 据 结 构 D.逻 辑 结 构、存 储 结 构 都 将 会 发 生 变 化 B.数 据 元 素 D.数 据 类 型 B 一 对 多 的 关 系 2C 多 对 一 的 关 系 D 多 对 多 的 关 系 7.链 式 存 储 结 构 存 储 元 素 的 存 储 单 元 的 地 址()A 必 须 是 连 续 的 B 必 须 是 不 连 续 的 C 可 以 连 续 也 可 以
4、 不 连 续 D 与 顺 序 存 储 结 构 相 同 8.评 价 一 个 算 法 优 劣 除 了 要 考 虑 正 确 性、A 时 间 效 益 和 空 间 效 率 C 时 间 效 益 9.设 计 算 法 时.,应 辟 免 使 算 法 的 时 间 复 杂 度 为(A 常 量 阶 C 二 次 阶 1 0.程 序 段 如 下 for(i=1;in;i+)for(j=1;ji;j+)y+;该 算 法 的 时 间 复 杂 度 为()A 0(1)C 0(n1 2)*4 51.数 据 的 逻 辑 结 构 与 数 据 元 素 本 身 的 和 形 式 无 关。2.数 据 结 构 包 含 三 方 面 的 内 容,分
5、 别 是、o3.数 据 元 素 是 数 据 的 基 本 单 位,数 据 项 是 数 据 的。4.算 法 的 时 间 复 杂 度 不 仅 与 问 题 的 规 模 n有 关,还 与 有 关。5.顺 序 存 储 结 构 中 逻 辑 上 相 邻 的 元 素 在 物 理 位 置 上。二、填 空 题 易 读 性 和 健 壮 性 外,还 应 考 虑()B 空 间 效 率 D 软 硬 件 环 境)B 线 性 阶 D 指 数 阶 B 0(n)D 0(lgn)想 据 错 构 习 题 条 6.数 据 的 逻 辑 结 构 是 从 逻 辑 关 系 上 描 述 数 据,它 与 数 据 的 无 关,是 独 立 于 计 算
6、机 的。7.最 坏 情 况 下 算 法 的 时 间 复 杂 度 是 算 法 在 任 何 输 入 实 例 上 运 行 时 间 的.8.算 法 具 有 的 五 个 重 要 特 性 是 有 效 性、输 入 和 输 出。9.数 据 的 存 储 结 构 的 基 本 存 储 方 法 是 顺 序 存 贮、链 式 存 储、和.1 0.设 有 三 个 函 数 f,g,h分 别 是 f(n)=lOOrf+nlOOO g(n)=25nf+5000n2 h(n)=w,+5000nlgn请 判 断 下 列 关 系 式 成 立 的 是 O(1)f(n)=0(g(n)(2)g(n)=O(f(n)(3)h(n)=O()(4)
7、h(n)=0(nlgn)三、阅 读 程 序 题 1.估 计 下 列 程 序 段 的 时 间 复 杂 度。temp=Ii=jj=temp2.分 析 下 列 程 序 段 的 间 复 杂 度。x=0;y=0;for(k=l;k=n;k+)x=x+l;for(i=l;i=n;i+)for(j=l;j=n;j+)y+;43.阅 读 程 序 题,估 计 时 间 复 杂 度 x=0;for(i=l,j=l;i+j=n;i+,j+)x+;4.阅 读 程 序 题,估 计 时 间 复 杂 度 x=l;for(i=l;i=n;i+)for(j=l;j=i;j+)for(k=l,k=j;k+)x+;习 题 答 案 一
8、、选 择 题 1.D 2.A 3.D 4.A 5.B 6.A 7.C 8.A 9.D 10.C二、填 空 题 1.内 容 2.逻 辑 结 构、存 储 结 构 和 定 义 在 其 上 的 运 算。3.最 小 单 位。4.输 入 实 例 的 初 始 状 态。5.也 相 邻 6.存 储 7.上 界 8.确 定 性、有 穷 性 9.索 引 存 储、散 列 存 储 1 0.(1)(2)(3)成 立,(4)不 成 立。三、阅 读 程 序 题 1.【答 案】0(1)【分 析】算 法 的 执 行 时 间 是 一 个 常 数,不 会 随 着 问 题 规 模 的 增 大 而 变 化,不 论 语 句 多 少 算 法
9、 的 时 间 复 杂 度 均 为 常 数 阶。2.【答 案】0(r)【分 析】一 般 情 况 下,对 步 进 循 环 语 句 只 需 考 虑 循 环 体 中 语 句 的 执 行 次 数,而 忽 略 循 环 控 制 语 句 等 成 分。因 此,算 法 中 y+;语 句 的 频 度 为 胡,所 以 该 序 段 的 时 间 复 杂 度 是 平 方 阶。0(乃想 据 错 构 习 题 条 3.【答 案】循 环 体 x+;语 句 的 执 行 频 度 n/2,算 法 的 时 间 复 杂 度 T(n)=O(f(n)=O(n)4.【答 案】循 环 体 x+;语 句 的 执 行 频 度 f f j=(i+l)/2
10、=f(n)=iJ=i=i En(n+1)(2n+l)/6+n(n+l)/2/2算 法 的 时 间 复 杂 度 T(n)=O(b6想 据 错 构 习 题 条 第 二 章 线 性 表 一、选 择 题 1.单 链 表 表 示 线 性 表 的 优 点 是()A.便 于 随 机 存 取 B.节 省 存 储 空 间 C.数 据 元 素 的 逻 辑 顺 序 和 物 理 顺 序 相 同 D.便 于 插 入 和 删 除 2.在 长 度 为 n的 顺 序 表 中 插 入 元 素 平 均 移 动 元 素 的 个 数 是()A.n/2 B.(n+l)/2C.n D.(n-l)/23.线 性 表 采 用 顺 序 存 储
11、 结 构,设 存 储 空 间 的 基 地 址 是 b,每 个 元 素 占 k个 存 储 单 元,第 i个 元 素 的 存 储 位 置 是()A.b+iC.b+(iT)*k4.在 链 式 存 储 结 构 中 引 入 头 结 点 的 作 用 是()A.对 空 表 和 非 空 表 可 按 同 一 模 式 处 理 C.便 于 随 机 访 问 5.顺 序 存 储 结 构 的 优 点 是()A.便 于 插 入 C.便 于 随 机 访 问 6.在 链 式 存 储 结 构 中,删 除 工 作 指 针 P所 指 结 点,结 构()A.单 循 环 链 表 或 双 循 环 链 表 C.单 链 循 环 链 表 B.b
12、+i*kD.b+i-1B.便 于 插 入 D.便 于 删 除 B.便 于 删 除 D.存 储 密 度 低 要 求 时 间 复 杂 度 为 0(1),选 择 哪 种 存 储 B.双 向 链 表 D.单 链 表 87.两 个 循 环 单 链 表,只 有 尾 指 针 指 向 表 末 结 点,表 长 分 别 为 n和 叫 将 两 个 表 依 此 链 接 为 个 表 的 时 间 复 杂 度 是()A.0(1)B.0(n+m)C.0(n)D.0(m)8.已 知 带 头 结 点 的 循 环 单 链 表 的 头 指 针 为 head,当 head-next=head时,()A.是 非 空 表 C.是 空 表
13、C.上 溢 出 错 D.表 中 有 一 个 表 结 点 9.在 长 度 为 n的 顺 序 表 中 删 除 第 i个 元 素,须 移 动 元 素 的 个 数 是()A.i B.nC.n-i+1 D.n-i10.已 知 p指 向 单 链 表 中 的 某 个 结 点,执 行 语 句:q=p-next;p-data=q-data;p-next=q-next;free(q);的 功 能 是()A.删 除 p所 指 结 点 B.删 除 p所 指 结 点 的 后 继 结 点 C.删 除 p所 指 结 点 的 前 趋 结 点 D.p所 指 结 点 与 后 继 结 点 值 互 换 11.线 性 表 采 用 链
14、式 存 储 时,结 点 的 存 储 地 址()A.必 须 是 不 连 续 的 B.连 续 与 否 均 可 C.必 须 是 连 续 的 C.和 头 结 点 的 存 储 地 址 连 续 12.在 长 度 为 n的 顺 序 表 的 第 i(lnext;B.p-next=p-next-next;数 据 错 相 动 敢 集 C.p-next=p;D.p=p-next-next;15.在 头 指 针 为 head且 表 长 大 于 1的 单 循 环 链 表 中,指 针 p指 向 表 中 某 个 结 点,若 p-next-next=hcad,则()A.p指 向 头 结 点 B.p指 向 尾 结 点 C.*p
15、的 直 接 后 继 是 头 结 点 D.*P的 直 接 后 继 是 尾 结 点 二、填 空 题 1.在 线 性 表 的 顺 序 存 储 结 构 上,逻 辑 上 相 邻 的 元 素 在 物 理 位 置 上。2.顺 序 表 是 一 种,存 取 速 度 快,但 不 便 于 进 行 和 操 作。3.在 n个 元 素 的 顺 序 表 中 进 行 插 入 操 作,需 平 均 移 动 个 结 点,。具 体 的 移 动 次 数 取 决 于 和 4.删 除 p所 指 结 点,在 双 向 链 表 中 的 时 间 复 杂 度 为,在 单 链 表 中 的 时 间 复 杂 度 为 5.在 单 循 环 链 表 中 设 置
16、 尾 指 针,其 优 点 是 便 于 在 和 操 作,其 时 间 复 杂 度 均 为。口 6.在 如 图 所 示 的 傩 表 中,若 在 指 针 p所 指 的 结 点 之 后 插 入 数 据 域 值 为 a结 点,则 可 用 卜.列 两 个 语 句 实 现 该 操 作,它 们 依 次 是 和。7.在 循 环 链 表 中,可 根 据 某 一 结 点 的 地 址 遍 历 整 个 链 表,在 单 链 表 中,需 要 知 道,才 能 遍 历。8.结 点 数 据 本 身 所 占 的 存 储 量 和 整 个 结 点 结 构 所 占 的 存 储 量 之 比 称 为 存 储 密 度,顺 序 表 存 储 密 度
17、 为,链 表 的 存 储 密 度 o9.在 线 性 表 中 频 繁 进 行 插 入 和 删 除,应 选 择 存 储 结 构,否 则 应 选 择。10.求 一 个 单 链 表 的 长 度 的 时 间 复 杂 度 为.10三、阅 读 程 序 题 1.阅 读 程 序 指 出 程 序 功 能 void trans(linklist*la,linklist*lb,int a,int n)int k;linknode*p;*la=(linknode*)malloc(sizeof(linknode);(*la)-next=NULL;*lb=(linknode*)malloc(sizeof(linknode)
18、;(*lb)-next=NULL;k=0;while(kdata=ak;if(k%2)p-next=(*la)-next;(*la)-next=p;else p-next=(*lb)-next;(*lb)-ncxt=p;k+;2.阅 读 程 序 指 出 程 序 功 能 void deInode(linknode*p)/p指 向 带 头 结 点 循 环 链 表 中 某 结 点 1 inknode*q;q=p-next;while(q-next!=p)q=q-next;q-data=p-data;数 据 错 相 动 敢 集 q-next=p-next;free(p);3.阅 读 程 序 指 出 程
19、 序 功 能,并 指 出 循 环 体 执 行 次 数。void delseqlist(seqlist*S,int i,int k)int j,n=0;for(j=i+k;j 1en;j+)*S-dataj-k=(*S)-dataj;n+;(*S)-len=(*S)-len-n;4.下 述 算 法 的 功 能 是 什 么?Linklist demo(Linklist L)L是 无 头 结 点 的 单 链 表 Listnode*Q,*p;if(L&L-next)Q=L;L=L-next;p=L;while(p-next)p=p-next;p-next=Q;Q-next=NULL;return L;
20、/demo四、算 法 设 计 题 1.设 有 个 带 头 结 点 的 单 链 表,试 设 计 统 计 链 表 中 值 为 k的 结 点 个 数 的 算 法。122.设 线 性 表 采 用 顺 序 存 储 结 构,将 表 分 拆 成 两 个 线 性 表,使 小 于 x的 元 素 作 为 一 个 表,使 其 它 元 素 作 为 另 一 个 表。3.数 序 列(元 素 数 大 于 2)以 单 链 表 存 储,试 遍 写 算 法,判 断 序 列 是 否 为 等 差 数 列。4.是 分 别 用 顺 序 表 和 单 链 表 作 为 存 储 结 构,实 现 将 线 性 表(aO,al,an-1)就 地 逆
21、置 的 操 作,所 谓“就 地”是 指 辅 助 空 间 应 为 0(1).5.设 顺 序 表 L是 一 个 递 增 有 序 表,试 写 一 算 法 将 x插 入 L中,并 使 L仍 是 一 个 有 序 表。6.设 单 链 表 L是 一 个 递 减 有 序 表,试 写 一 算 法 将 x插 入 L中,并 使 L仍 保 持 有 序 性。7.已 知 L1和 L2分 别 指 向 的 两 个 单 链 表 的 头 结 点,且 已 知 其 长 度 分 别 为 m和 n。试 写 一 算 法 将 这 两 个 单 链 表 连 接 在 一 起,并 分 析 你 的 算 法 的 时 间 复 杂 度。8.设 A和 B是
22、两 个 单 链 表,其 表 中 元 素 递 增 有 序。试 写 一 个 算 法 将 A和 B归 并 成 一 个 按 元 素 值 递 减 有 序 的 单 链 表,并 要 求 辅 助 空 间 为 0(1),请 分 析 算 法 的 时 间 复 杂 度。9.已 知 单 链 表 L是 一 个 递 增 有 序 表,试 写 一 高 效 算 法,删 除 表 中 值 大 于 min且 小 于 的 max结 点(若 表 中 有 这 样 的 结 点),同 时 释 放 被 删 除 结 点 的 空 间,这 里 max和 nin是 两 个 给 定 的 参 数。请 分 析 你 的 算 法 的 时 间 复 杂 度。10.写
23、一 算 法 将 单 链 表 中 值 重 复 的 结 点 删 除,是 所 得 的 结 果 表 中 各 结 点 位 均 不 相 同。11.假 设 在 长 度 大 于 1的 单 循 环 链 表 中,既 无 头 结 点 也 无 头 指 针。s为 指 向 链 表 中 某 个 结 点 的 指 针,是 编 写 算 法 删 除 结 点*s的 直 接 前 趋 结 点。习 题 答 案 一、选 择 题 1.D 2.A 3.C 4.A 5.C 6.B 7.A 8.C 9.D 10.A 11.B 12.A 13.C14.B 15.D二、填 空 题 1.也 相 邻;2.随 机 存 取 结 构、插 入、删 除;3.n/2,
24、表 长,插 入 位 置;4.0(1),0(n);5.表 头,表 尾,0(1);6.S-next=p-next;p-next=s;7.头 指 针;8.1,1;9.链 式,顺 序 存 储 结 构;10.0(n);三、阅 读 程 序 题 1.【答 案】将 数 组 a 中 元 素 按 奇、偶 分 类,分 别 建 成 单 链 表 la和 1b。2.【答 案】删 除 循 环 链 表 中 p所 指 结 点 的 前 趋 结 点。3.【答 案】在 顺 序 表 上 删 除 从 第 i个 元 素 起 连 续 k个 元 素。想 据 错 构 习 题 条 4.【答 案】当 单 链 表 为 空 表 或 只 有 一 个 结
25、点 时,其 结 构 不 变,若 多 于 一 个 结 点 时,将 第 一 个 结 点 移 至 表 末 作 为 最 后 一 个 结 点,而 原 来 第 二 个 结 点 作 为 链 表 的 第 一 个 结 点。14想 据 错 构 习 题 条 第 三 章 栈 和 队 列 一、选 择 题 1.若 一 个 栈 的 输 入 序 列 是 1,2,3,,n,输 出 序 列 的 第 一 个 元 素 是 n,则 第 i个 输 出 的 元 素 是()6.长 度 为 n的 链 队 列 用 单 循 环 链 表 表 示 设 置 头 指 针,入 队 的 时 间 复 杂 度 是()A.n-i B.n-i+1C.i D.i-12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 习题集
限制150内