数据结构课程设计实验指导书

发布 2022-10-06 04:30:28 阅读 6994

(试用)

李向前编写。

北京交通大学海滨学院计算机科学系。

2023年9月。

实验一编写学生学籍管理的应用程序

实验目的。在c语言环境下(turbo c或vc)编写一个简单的管理学生学籍的应用程序。

通过本实验,使学生能够在c语言环境下熟练地编写基本的应用程序。

实验意义。通过本实验,使学生能够进一步理解c语言中结构和数组的使用,熟悉基本的输入和输出方法。

实验背景。某班级有30名学生,每名学生的资料包括学号、姓名、性别、籍贯、年级、专业、班级、学习课程等项目,要求可以输入每名学生的资料,可以显示并修改每名学生的资料。在程序运行之初,可以选择输入、修改或显示。

实验步骤及要求。

1、设计学生资料的存储结构。

2、建立10名学生的初始资料。

3、修改2名学生的专业和籍贯信息。

4、删除2名学生的所有信息。

5、显示现有学生的所有信息。

6、提交源程序清单及程序注释。

7、提交程序使用方法和程序使用界面。

8、上机演示实验结果。

实验学时。3学时。

实验二编写员工人事管理的应用程序

实验目的。在c语言环境下(turbo c或vc)编写一个简单的员工人事管理的应用程序。

通过本实验,使学生能够在c语言环境下熟练地编写基本的应用程序。

实验意义。通过本实验,使学生能够进一步理解c语言中动态存储分配的使用,熟悉指针和数组的使用方法。

实验背景。某软件公司大约有30名员工,每名员工有姓名、工号、职务等属性,每年都有员工离职和入职。把所有员工按照顺序存储结构建立一个线性表,建立离职和入职函数,当有员工离职或入职时,修改线性表,并且打印最新的员工名单。

实验步骤及要求。

1、设计员工人事信息的存储结构。

2、建立10名员工的初始资料。

3、增加2名新员工,存储在顺序表的头部。

4、删除2名员工的所有信息,保持顺序表的结构。

5、显示现有员工的所有信息。

6、提交源程序清单及程序注释。

7、提交程序使用方法和程序使用界面。

8、上机演示实验结果。

实验学时。3学时。

实验三编写解决约瑟夫环问题的应用程序。

实验目的。在c语言环境下(turbo c或vc)编写一个简单的报数应用程序。

通过本实验,使学生能够在c语言环境下熟练地编写基本的应用程序。

实验意义。通过本实验,使学生能够进一步理解c语言中链表和指针的使用,熟悉基本的输入和输出方法。

实验背景。约瑟夫环问题 josephus:编号为1,2,3,……n的n个人按顺时针方向围坐一圈。

任选一个正整数作为报数上限m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。

实验步骤及要求。

1、建立n个人的单循环链表存储结构。

2、运行结束后输出依次出队的人的序号。

3、提交源程序清单及程序注释。

4、提交程序使用方法和程序使用界面。

5、上机演示实验结果。

实验学时。3学时。

实验四编写求解斐波那契序列的应用程序

实验目的。在c语言环境下(turbo c或vc)编写一个简单的队列管理的应用程序。

通过本实验,使学生能够在c语言环境下熟练地编写基本的应用程序。

实验意义。通过本实验,使学生能够进一步理解队列的结构和特点,熟悉队列的使用方法。

实验背景。4阶斐波那契序列如下:f0=f1=f2=0, f3=1,…,fi=fi-1+fi-2+fi-3+fi-4,利用容量为k=4的循环队列,构造序列的前n+1项(f0, f1 , f2 ,…fn ),要求满足fn ≤200而fn+1 >200。

实验步骤及要求。

1、建立斐波那契序列的存储结构。

2、输出满足fn ≤200而fn+1 >200的数据项。

3、提交源程序清单及程序注释。

4、提交程序使用方法和程序使用界面。

5、上机演示实验结果。

实验学时。3学时。

实验五编写求二叉树深度的递归程序

实验目的。在c语言环境下(turbo c或vc)编写一个简单的二叉树的递归程序。

通过本实验,使学生能够在c语言环境下熟练地编写基本的应用程序。

实验意义。通过本实验,使学生能够进一步理解二叉树的结构和特点,掌握递归程序的编写方法。

实验背景。二叉树t是有限个结点的集合,它或者是空集,或者由一个根结点u以及分别称为左子树和右子树的两棵互不相交的二叉树u(1)和u(2)组成。若用n,n1和n2分别表示t,u(1)和u(2)的结点数,则有n=1+n1+n2 。

u(1)和u(2)有时分别称为t的第一和第二子树。二叉树的深度是指二叉树中结点的最大层次数。

实验步骤及要求。

1、建立二叉树的二叉链表存储结构。

2、通过二叉树的先序遍历的扩展序列建立二叉树。

3、显示二叉树。

4、显示二叉树的深度值。

5、提交设计文档。

6、提交源程序清单及程序注释。

7、提交程序使用方法和程序使用界面。

8、上机演示实验结果。

实验学时。3学时。

实验六编写图的dfs算法的应用程序。

实验目的。在c语言环境下(turbo c或vc)编写一个图的深度优先搜索遍历的应用程序。

通过本实验,使学生能够在c语言环境下熟练地编写基本的应用程序。

实验意义。通过本实验,使学生能够进一步理解图的结构和特点,熟悉图的基本操作方法。

实验背景。深度优先搜索遍历:从图中某个顶点v0 出发,访问此顶点,然后依次从v0的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v0有路径相通的顶点都被访问到。

实验步骤及要求。

1、建立图的邻接矩阵存储结构。

2、输入任意的一个图。

3、显示图的深度优先搜索遍历路径。

4、提交设计文档。

5、提交源程序清单及程序注释。

6、提交程序使用方法和程序使用界面。

7、上机演示实验结果。

实验学时。3学时。

实验七编写进行堆排序的应用程序。

实验目的。在c语言环境下(turbo c或vc)编写一个进行堆排序的应用程序。

通过本实验,使学生能够在c语言环境下熟练地编写基本的应用程序。

实验意义。通过本实验,使学生能够进一步理解堆的结构和特点,熟悉堆排序的操作方法。

实验背景。堆是满足下列性质的数列:

小顶堆)或大顶堆)

给定一组关键字序列,要求按照堆的特性进行排序。

实验步骤及要求。

1、建立堆的顺序存储结构。

2、输入任意一组正整数类型的关键字。

3、显示排序后的关键字序列。

4、提交设计文档。

5、提交源程序清单及程序注释。

6、提交程序使用方法和程序使用界面。

7、上机演示实验结果。

实验学时。3学时。

实验八编写哈希表查找的应用程序。

实验目的。在c语言环境下(turbo c或vc)编写一个哈希表查找的应用程序。

通过本实验,使学生能够在c语言环境下熟练地编写基本的应用程序。

实验意义。通过本实验,使学生能够进一步理解哈希表的结构和特点,熟悉解决冲突和查找的操作方法。

实验背景。根据设定的哈希函数 h(key) 和所选中的处理冲突的方法,将一组关键字映象到一个有限的、地址连续的地址集 (区间) 上,并以关键字在地址集中的“象”作为相应记录在表中的存储位置,如此构造所得的查找表称之为“哈希表”。

实验步骤及要求。

1、设定哈希函数 h(key) =key mod 11 ( 表长=11 )

2、输入一组关键字序列。

3、根据线性探测再散列解决冲突的方法建立哈希表的存储结构。

4、显示哈希表。

5、任意输入关键字,判断是否在哈希表中。

6、提交设计文档。

7、提交源程序清单及程序注释。

8、提交程序使用方法和程序使用界面。

9、上机演示实验结果。

实验学时。3学时。

数据结构课程设计指导书

数据结构。课。程。设。计。指。导。书。目录。一 课程设计的基本任务3 二 课程设计的基本要求3 三 课程设计的基本步骤和方法4 四 课程设计说明书 含报告的书写规范5 五 附录 课程设计大纲等内容13 一 课程设计的基本任务。数据结构是一门涉及多门课程的课程,难度较大,需要较好的c语言的程序设计和调...

数据结构课程设计指导书

数据结构。课。程。设。计。指。导。书。一 课程设计的基本任务3 二 课程设计的基本要求3 三 课程设计的基本步骤和方法4 四 课程设计说明书 含报告的书写规范5 五 附录 课程设计大纲等内容13 一 课程设计的基本任务。数据结构是一门涉及多门课程的课程,难度较大,需要较好的c语言的程序设计和调试能力...

数据结构课程设计指导书

指导书。信息工程学院计算机科学与技术专业。2013年12月。数据结构课程设计 指导书。一 课程设计题目与要求。根据课程设计题目规模,要求每个题目3人一组。分组规则如下 按照学号顺序每3人编为一组 或者自由组合 一经确定不得随意调换,题目由各组选派代表抽签确定,设计题目不得更换。选题一 教学计划编制问...