1、 1 经济管理学院本科课程设计论文 数据结构课程设计 学 号: 姓 名: 班 级: 专 业: 信息管理与信息系统 系 别: 管理系 指导教师: 2011 年 1 月 14 日 吉 林 数据结构课程设计论文数据结构课程设计论文 1 目 录 数据结构课程设计论文数据结构课程设计论文 1 1 第第 1 1 章章 引言概述引言概述 数据结构是一门理论性强、思维抽象、难度较大的课程,是基础课和专业课之 间的桥梁。该课程的先行课程是计算机基础、程序设计语言、离散数学等,后续课 程有操作系统、编译原理、数据库原理、软件工程等。 通过本门课程的学习,我们 应该能透彻地理解各种数据对象的特点,学会数据的组织方法
2、和实现方法,并进一 步培养良好的程序设计能力和解决实际问题的能力,而且该课程的研究方法对我们 学生在校和离校后的学习和工作,也有着重要的意义。 数据结构是计算机科学与技术专业的一门核心专业基础课程,在该专业的课程 体系中起着承上启下的作用,学好数据结构对于提高理论认知水平和实践能力有着 极为重要的作用。学习数据结构的最终目的是为了获得求解问题的能力。对于现实 世界中的问题,应该能从中抽象出一个适当的数学模型,该数学模型在计算机内部 用相应的数据结构来表示,然后设计一个解此数学模型的算法,再进行编程调试, 最后获得问题的解答。 进行课程设计是为了加强编程能力的培养,鼓励我们在学习完理论知识之后多
3、 动手同时发挥我们自主学习的能力。相信通过数据结构课程实践,无论是理论知识, 还是实践动手能力,我们都会有不同程度上的提高。 第第 2 2 章章 需求分析需求分析 2.12.1 问题描述问题描述 2 2.1.1.1.1 语言描述语言描述:给定一奇数 n,构造一个 n 阶魔阵。n 阶魔阵是一个 n 阶方 阵,其元素由自然数 1,2,3,n 2 组成。魔阵的每一行元素之和,每列元 素之 和以及主、 副对角线元 素之和均相 等。即对于给 定的奇数 n 以及 i=1,2,3,n,魔阵 a 满足条件: 数据结构课程设计论文数据结构课程设计论文 2 2 要求输出结果的格式要具有n阶方阵的形式。 2 2.
4、.1.1.2 2 算法算法概述概述:依次将自然数填入方阵中,共填 n 轮,每轮填 n 次。第一轮的第 一次,将 1 填如入方阵的中间一行的最后一列位置。 设前一次填入的位置是,每轮 中第 2 至第 n 次将数填入,若遇到下列两种情况之一,则填写位置按以下规则调整。 是最后一列(即 j=n)位置,则将下一个数填入; 是最后一行(即 i=n)位置,则将下一个数填入; 新一轮的第一次填入。 2 2. .1.1.3 3举例说明举例说明:当n=3时,得到3*3魔阵: 4 3 8 9 5 1 2 7 6 具体程序实行过程如下: 1 图 1-1 在中间行最后一列的位置上插入第一个数据 1; 数据结构课程设计
5、论文数据结构课程设计论文 3 3 1 2 图 1-2 在数据 1 的右下角位置上插入元素 2(即 i+1) ; 3 1 2 图 1-3 检查 2 的右下方为空,即将 3 插入; 4 3 1 2 图 1-4 3 的右下方有数据 1,故将 4 插入 3 的左方; 4 3 5 1 2 图 1-5 4 的右下方有空位置,插入 5; 数据结构课程设计论文数据结构课程设计论文 4 4 4 3 5 1 2 6 图 1-6 将 6 插入; 4 3 5 1 2 7 6 图 1-7 将 7 插入; 4 3 8 5 1 2 7 6 图 1-8 将 8 插入; 4 3 8 9 5 1 2 7 6v 图 1-9将 9
6、插入; 数据结构课程设计论文数据结构课程设计论文 5 5 2.22.2 基本要求基本要求 要求输出结果的格式要具有 n 阶魔阵的形式。给定一奇数 n,构造一个 n 阶魔 阵。n 阶魔阵是一个 n 阶方阵,其元素由自然数 1,2,3,n 2组成。魔阵的 每一行元素之和,每列元素之和以及主、副对角线元素之和均相等。遇到不合 法数据时能有相应的提示并加以处理,同时保证不会出现死循环。提供连续实 现的功能。 2.32.3 测试数据测试数据 第一组:1,n; 第二组:2; 第三组:3,y; 第四组:3,a; 第五组:1,3; 第第 3 3 章章 概要设计概要设计 3.13.1 数据结构数据结构 此课程设计采用一维数组来存储二维矩阵。利用指针和数组之间相互应用,表 达矩阵。所用一维数组来存储二维矩阵的方法能够使矩阵更容易操作,并可 在开辟的连续存储空间中能够有效的存储矩阵。 则上例 n=3 在一维数组