1、 数 据 结 构 课 程 设 计 指 导 书一 、 课 程 设 计 教 学 目 的 及 基 本 要 求1. 了 解 并 掌 握 数 据 结 构 与 算 法 的 设 计 方 法 , 具 备 初 步 的 独 立 分 析 和 设计 能 力 ;2. 初 步 掌 握 软 件 开 发 过 程 的 问 题 分 析 、 系 统 设 计 、 程 序 编 码 、 测 试 等基 本 方 法 和 技 能 ;3. 提 高 综 合 运 用 所 学 的 理 论 知 识 和 方 法 独 立 分 析 和 解 决 问 题 的 能 力 ;4. 训 练 用 系 统 的 观 点 和 软 件 开 发 一 般 规 范 进 行 软 件 开
2、发 , 培 养 软 件 工作 者 所 应 具 备 的 科 学 的 工 作 方 法 和 作 风 ;5. 独 立 完 成 , 且 要 有 完 整 可 运 行 的 程 序 ;6. 1 号 到 10 号 学 生 完 成 题 1 或 者 题 8, 11 号 到 20 号 学 生 完 成 题 2或 者 题 6, 21 号 到 30 号 学 生 完 成 题 3, 31 号 到 40 号 学 生 完 成 题 4, 41号 到 52 号 学 生 完 成 题 5 或 者 题 7;7. 完 成 时 间 : 2011 年 3 月 1 日 前 完 成 ;8 提 交 内 容 : 打 印 好 的 课 程 设 计 报 告 请
3、 学 习 委 员 收 好 后 交 老 师 办 公 室 ( 2011年 3 月 8 日 前 , 逾 期 不 收 ) ; 电 子 稿 ( 包 括 课 程 设 计 报 告 和 源 程 序 以 “学 号 姓 名 ”为 名 打包 ) 提 交 到 网 上 课 堂 。二 、 课 程 设 计 步 骤1. 问 题 分 析 : 根 据 设 计 题 目 的 要 求 , 充 分 地 分 析 和 理 解 问 题 , 明 确 问题 要 求 做 什 么 ? ( 而 不 是 怎 么 做 ? )2. 概 要 设 计 : 对 问 题 描 述 中 涉 及 的 操 作 对 象 定 义 相 应 的 数 据 结 构 ,并 按 照 以 数
4、 据 结 构 为 中 心 的 原 则 划 分 模 块 , 定 义 主 程 序 模 块 ( 函 数 )和 子 模 块 ( 函 数 ) ; 并 画 出 各 模 块 ( 函 数 ) 之 间 的 调 用 关 系 图 ;3. 详 细 设 计 : 对 数 据 结 构 和 基 本 操 作 出 进 一 步 的 求 精 , 写 出 函 数 形 式的 算 法 框 架 ;4. 程 序 编 码 : 把 详 细 设 计 的 结 果 进 一 步 求 精 为 程 序 设 计 语 言 程 序 。 同时 加 入 一 些 注 解 , 使 程 序 中 逻 辑 概 念 清 楚 ;5. 程 序 调 试 与 测 试 : 采 用 自 底
5、向 上 , 分 模 块 进 行 , 即 先 调 试 低 层 函 数 。能 够 熟 练 掌 握 调 试 工 具 的 各 种 功 能 , 设 计 测 试 数 据 确 定 疑 点 , 通 过 修 改 程序 来 证 实 它 或 绕 过 它 。 调 试 正 确 后 , 认 真 整 理 源 程 序 及 其 注 释 , 形 成 格 式和 风 格 良 好 的 源 程 序 清 单 和 结 果 ;6. 编 写 课 程 设 计 报 告 。三 、 报 告 撰 写 要 求 ( 以 通 讯 录 管 理 系 统 的 设 计 和 实 现 为 例 )1、 设计题目通讯录管理系统的设计与实现(小四号宋体,单倍行距)2、 设计目的
6、和要求小四号宋体,单倍行距3、 设计内容(包括设计思路、设计实现)3.1 问题分析(标题:小四,宋体加粗,正文:五号,宋体,单倍行距)通讯录管理系统一般包括通讯者信息的插入、查询、删除、更新以及通讯录信息的输出等功能。通讯者的信息一般包括编号、姓名、性别、电话以及地址等项。程序运行后显现提示信息,等候用户输入 07 以进入相应的操作功能。3.2 系统设计1、存储结构的设计(说明数据对象及其关系的存储结构)每个通讯录结点采用结构体类型存储,整个通讯录是一个线性表(逻辑结构) ,采用链表存储的方式(物理结构) 。具体结构定义如下:typedef struct2、功能模块(函数)的设计(说明课程设计
7、时要注意模块的划分,不要把所有的内容都写在 main 中,要分若干函数来完成)(1)通过以下几个函数完成通讯录的管理:LinkList CreateList(void) 建立一个带头结点的通讯录单链表;基本思想:void InserNode(LinkList head ,ListNode *p) 在带头结点的通讯录链表中插入结点;基本思想:ListNode *ListFind(LinkList head) 在带头结点的通讯录链表中查找结点;基本思想:首先输入要查找的通讯者的编号或姓名,从表头顺序访问表中的结点,若查找成功,则返回一个指向查找到的通讯者信息的结点,若查找失败,则返回一个空的指针值
8、 NULL。(2)函数间的调用关系图3.3 程序编码(把主要的算法程序写上,并且要有必要的解释和说明)参考文献4、 设计小结主要包括程序待改进的地方和本次课程设计的收获(小四号,宋体)四 、 参 考 题 目1. 【 设 计 题 目 】通 讯 录 管 理 系 统 的 设 计 与 实 现【 问 题 描 述 】完 成 通 讯 者 结 点 信 息 的 插 入 、 查 询 、 删 除 、 更 新 以 及 输 出 的 功 能 。【 实 现 提 示 】由 键 盘 输 入 需 要 进 行 的 操 作 , 然 后 调 用 相 应 的 函 数 完 成 功 能 。可 以 采 用 链 接 存 储 线 性 表 的 方
9、式 。2. 【 设 计 题 目 】表 达 式 求 值 问 题【 问 题 描 述 】以 字 符 序 列 的 形 式 从 终 端 输 入 语 法 正 确 的 不 含 变 量 的 整 数 表 达 式( 只 包 含 基 本 的 四 则 运 算 +-*/以 及 括 号 ) , 实 现 表 达 式 的 求 值 。【 实 现 提 示 】先 把 中 缀 表 达 式 转 换 成 后 缀 表 达 式 , 再 计 算 后 缀 表 达 式 的 值 。参 考 教 材 给 出 的 程 序 , 利 用 栈 来 实 现 。3. 【 设 计 题 目 】平 衡 二 叉 树 的 判 定 问 题【 问 题 描 述 】给 定 一 个
10、二 叉 树 的 先 ( 后 ) 序 遍 历 以 及 中 序 遍 历 结 果 , 首 先 构造 二 叉 树 , 然 后 判 定 其 是 否 为 平 衡 二 叉 树 。【 实 现 提 示 】首 先 构 造 二 叉 树 , 然 后 计 算 每 个 结 点 的 平 衡 度 ( 可 设 计 一 个 计算 树 的 高 度 的 函 数 , 然 后 调 用 它 并 遍 历 每 个 结 点 求 平 衡 度 ) , 计 算的 同 时 可 判 断 是 否 平 衡 ( 计 算 和 判 断 平 衡 度 都 可 用 递 归 的 方 法 来 实 现 )。4. 【 设 计 题 目 】哈 夫 曼 编 码 的 应 用【 问 题
11、描 述 】针 对 字 符 集 A 及 其 各 字 符 的 频 率 值 ( 可 统 计 获 得 ) , 给 出 A 中所 有 字 符 的 哈 夫 曼 编 码 , 并 针 对 一 段 文 本 ( 定 义 在 A 上 ) 进 行 编 码 ,实 现 一 个 哈 夫 曼 编 码 系 统 。【 实 现 提 示 】首 先 建 立 哈 夫 曼 树 ( 参 考 教 材 程 序 ) , 确 立 各 个 字 符 的 编 码 ,然 后 对 给 定 文 本 进 行 哈 夫 曼 编 码 。5. 【 设 计 题 目 】校 园 导 航 问 题【 问 题 描 述 】设 计 你 的 学 校 的 平 面 图 , 至 少 包 括 1
12、0 个 以 上 的 场 所 , 每 两 个 场所 间 可 以 有 不 同 的 路 , 且 路 长 也 可 能 不 同 , 找 出 从 任 意 场 所 到 达 另 一场 所 的 最 佳 路 径 ( 最 短 路 径 ) 。【 实 现 提 示 】用 Dijkstra 或 Floyd 算 法 实 现6. 【 设 计 题 目 】散 列 法 的 实 验 研 究【 问 题 描 述 】散 列 法 中 , 散 列 函 数 构 造 方 法 多 种 多 样 , 同 时 对 于 同 一 散 列 函 数 解决 冲 突 的 方 法 也 可 以 不 同 。 两 者 是 影 响 查 询 算 法 性 能 的 关 键 因 素 。
13、【 实 现 要 求 】对 于 几 种 典 型 的 散 列 函 数 构 造 方 法 , 做 实 验 观 察 , 不 同 的 解 决 冲 突方 法 对 查 询 性 能 的 影 响 。【 实 现 说 明 】用 顺 序 存 储 完 成 。7. 【 设 计 题 目 】交 通 网 络 的 最 经 济 架 构 问 题【 问 题 描 述 】在 n 个 城 市 之 间 建 设 网 络 , 只 需 保 证 连 通 即 可 , 求 最 经 济 的 架 设方 法 。【 实 现 提 示 】用 Prim 算 法 完 成 , 用 邻 接 矩 阵 存 储 图 。8. 【 设 计 题 目 】运 动 会 分 数 统 计 的 应
14、用【 问 题 描 述 】参 加 运 动 会 有 n 个 学 校 , 学 校 编 号 为 1n。 比 赛 分 成 m 个 男子 项 目 , 和 w 个 女 子 项 目 。 项 目 编 号 为 男 子 1m, 女 子m+1m+w。 每 个 的 项 目 取 前 3 名 积 分 ( 或 者 前 5 名 ) , 积 分 分别 为 : 5、 3、 2( 或 者 7、 5、 3、 2、 1) ; ( m=20,n=20) 并 加 以扩 展 应 用 。【 基 本 要 求 】1、 可 以 输 入 各 个 项 目 的 前 3 名 ( 或 者 前 5 名 ) 的 成 绩 ;2、 能 统 计 各 学 校 总 分 ,3、 可 以 按 学 校 编 号 、 学 校 总 分 、 男 女 团 体 总 分 排 序 输 出 ;4、 可 以 按 学 校 编 号 查 询 学 校 某 个 项 目 的 情 况 ; 可 以 按 项 目 编号 查 询 取 得 前 3( 或 者 前 5) 的 学 校 。5、 数 据 的 输 入 和 输 出 可 以 通 过 文 件 进 行【 实 现 提 示 】可 以 用 不 同 的 排 序 算 法 进 行 排 序 输 出