搜档网
当前位置:搜档网 › 数据结构课设题目及要求

数据结构课设题目及要求

数据结构课设题目及要求
数据结构课设题目及要求

《数据结构》课程设计题目

题目—:

一、课题名称:哈夫曼编码算法的实现

二、课题来源:课程组自拟

三、课题类型:综合型

四、目的意义:

1.了解哈夫曼算法的思路核心,掌握哈夫曼算法在压缩算法中的基本应用

2.全面提高学生的程序设计、开发能力

五、基本要求:

1.任意性:用户输入任意的字符串,系统自动给出每个字符的哈夫曼编码和对应的哈夫曼树

2.友好性:界面要友好,输入有提示,尽量展示人性化

3.可读性:源程序代码清晰、有层次

4.健壮性:用户输入非法数据时,系统要及时给出警告信息

六、主要参考资料:

[1] 严蔚敏等,《数据结构》,清华大学出版社,北京.2000

[2] 谭浩强,《C语言程序设计》,清华大学出版社,北京.

题目二:

一、课题名称:排序算法的比较

二、题目来源:课程组自拟

三、课题类型:综合型

四、目的意义:

1.掌握各种排序算法(直接插入排序、冒泡排序、快速排序、简单选择排序)的思路核心,比较它们之间的优劣

2.全面提高学生的程序设计、开发能力

五、基本要求:

1.任意性:系统首先生成1000个随机整数,然后分别用不同的排序方法对其进行升序排序,给出每种方法的比较次数或所用时间

2.友好性:界面要友好,输入有提示,尽量展示人性化

3.可读性:源程序代码清晰、有层次

4.健壮性:用户输入非法数据时,系统要及时给出警告信息

六、主要参考资料:

[1] 严蔚敏等,《数据结构》,清华大学出版社,北京.2000

[2] 谭浩强,《C语言程序设计》,清华大学出版社,北京.

题目三:

一、课题名称:最小生成树的构建

二、课题来源:课程组自拟

三、课题类型:综合型

四、目的意义:

1.了解最小生成树的构建算法,掌握高级语言的编程方法

2.全面提高学生的程序设计、开发能力

五、基本要求:

1.任意性:用户任意给出—个网,系统画出该图,并给出对应的最小生成树

2.友好性:界面要友好,输入有提示,尽量展示人性化

3.可读性:源程序代码清晰、有层次

4.健壮性:用户输入非法数据时,系统要及时给出警告信息

六、主要参考资料:

[1] 严蔚敏等,《数据结构》,清华大学出版社,北京.2000

[2] 谭浩强,《C语言程序设计》,清华大学出版社,北京.

七、评分标准:

程序的正确性:40%

程序的可读性:15%

界面的友好性:15%

课程设计报告:20%

工作态度:10%

八、课程设计报告的基本格式

设计报告的基本内容至少包括封面、正文、参考文献三部分。

1.封面

封面包括“《数据结构》课程设计报告”、班级、姓名、设计时间等信息。

2.正文

正文是设计报告的主体,具体由以下几部分组成:

(1) 课程设计名称;

(2) 使用工具软件;

(3) 课程设计内容简介:包括课程设计的基本结构流程、运行环境等;

(4) 得意之处:重点介绍整个课程设计程序中自己认为最满意、最得意的地方;

(5) 创意的技术实现:介绍课程设计中重点创意的技术实现技巧、核心程序等;

(6) 课程设计中目前存在的问题;

(7) 设计实践过程中的自我感受。

3.参考文献

给出在课程设计过程中参考的各种文献、资料名称。

九、题目的选择

根据学号进行对应题目的选择,即学号为1、4、7、10...的同学作题目—,学号为2、5、8、11...的同学作题目二,学号为3、6,9、12...的同学作题目三。

数据结构课程设计参考题目

数据结构课程设计题目 数据结构课程设计题目(大题目).doc 一、公司销售管理系统 项目开发基本要求 1.客户信息管理:对客户的基本信息进行添加、修改和删除。 2.产品信息管理:对产品的基本信息进行添加、修改和删除。 3.供应商信息管理:对供应商的基本信息进行添加、修改和删除。 4.订单信息管理:对订单的基本信息进行添加、修改和删除。 二、高校科研管理系统 系统主要用于帮助高校或科研单位管理和维护各项科研相关资料 项目开发基本要求 1.系统用户管理模块:为系统新用户设置用户名及口令;操作员更改自己的系统口令。2.数据字典管理模块:管理项目性质包括:分为国家自然科学基金、863、部省科委及企业集团四种情况;范围包括:分为全国、国际、地方三种情况;检索源包括:分为EI、SCI、核心和一般四种情况。 3.项目参加人员管理模块包括:显示添加修改删除查询。 4.项目基本情况模块包括:显示添加修改删除查询。 5.项目获奖情况模块包括:显示添加修改删除查询。 6.期刊论文管理模块包括:显示添加修改删除查询。 7.著作管理模块包括:显示添加修改删除查询。 8.科研工作量统计模块:按照学校科研工作量计算办法,为每位科研人员进行科研工作量的计算和统计。 9.科研积分统计模块:按照学校科研积分计算办法,为每位科研人员进行科研计分的计算和统计。 三、网络五子棋对战 四、不同排序算法模拟 五、科学计算器 数据结构课程设计题目 1.运动会分数统计 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n< =20) 功能要求: 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分,

数据结构课程设计

题目: 学院: 专业班级: 学生姓名: 指导教师: 2016 年06 月2 9日

目录 一、课程设计目的 (3) 二、课程设计步骤 (3) 三、课程设计内容 (4) 四、课程设计报告 (6) 五、提交材料 (6) 六、考核方式与评分标准 (7) 七、参考文献 (8) 附录1 齐齐哈尔大学软件工程系课程设计说明书(报告)撰写规范 (9)

一、课程设计目的及要求 《数据结构与算法分析》课程设计培养计算机专业的学生的算法程序设计能力。通过上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对数据结构课程和算法的理解。使学生更好地掌握数据结构的基本概念、基本原理、及基本算法,具有分析算法、设计算法、构造和开发较复杂算法的基本能力。 要求学生能综合运用《数据结构与算法分析》的相关知识,培养学生上机解决一些与实际应用结合紧密的、规模较大的问题的能力,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析实际问题的能力并提高C语言编程技巧,培养良好的编程风格。 课程设计要求独立完成,题目自选(参考题目见三,也可自拟),但需要老师确认(6月16日前定题),一人一题,要求程序有能采用交互式工作方式的界面进行功能的选择,只能用文件存储数据和处理数据不能使用数据库。要求在教学周的第18周前完成。 二、课程设计步骤 随着计算机性能的提高,它所面临的软件开发的复杂度也日趋增加。然而,编制一个10000行的程序的难度绝不仅仅是一个5000行的程序的两倍,因此软件开发需要系统的方法。一种常用的软件开发方法,是将软件开发过程分为分析、设计、实现和维护四个阶段。虽然数据结构课程中的课程设计的复杂度远不如(从实际问题中提出来的)一个“真正的”软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,完成课程设计的应有如下的5个步骤: 1.问题分析和任务定义 通常,课程设计题目的陈述比较简洁,或者说是有模棱两可的含义。因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么,限制条件是什么。注意:本步骤强调的是做什么,而不是怎么做。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。例如:输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式的输入,则结束标志是什么,是否接受非法的输入,对非法输入的回答方式是什么等等。这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式输入的数据。 2.数据类型和系统设计 在设计这一步骤中需分逻辑设计和详细设计两步实现。逻辑设计指的是,对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型;详细设计则为定义相应的存储结构并写出各过程和函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。作为逻辑设计的结果,应写出每个

数据结构课程作业

数据结构课程作业_A 交卷时间:2017-08-09 10:08:51 一、单选题 1. (7分)设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置脚注(10)表示用10进制表示。 A. 688 B. 678 C. 692 D. 696 纠错 得分: 7 知识点:第五章 展开解析 答案 C 解析第五章第二节综合题目 2. (7分)若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 纠错 得分: 0 知识点:第九章 展开解析 答案 D 解析第九章第一节有序表的查找

(7分)设某完全无向图中有n个顶点,则该完全无向图中有()条边。 A. n(n-1)/2 B. n(n-1) C. n2 D. n2-1 纠错 得分: 7 知识点:第七章 展开解析 答案 A 解析第七章第一节综合题目 4. (7分)若在任意一棵二叉树中,有n0个叶子结点,有n2个度为2的结点,则:n0=_____ A. n2+1 B. n2-1 C. n2+2 D. n2-2 纠错 得分: 7 知识点:第六章 展开解析 答案 A 解析第六章第二节二叉树的性质 5. (7分)栈的插入和删除操作在()进行。 A. 栈顶 B. 栈底 C. 任意位置 D. 指定位置

得分: 7 知识点:第三章 展开解析 答案 A 解析第三章第一节栈的表示和实现 6. (7分)设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。 A. 25 B. 10 C. 7 D. 1 纠错 得分: 7 知识点:第九章 展开解析 答案 B 解析第九章第一节有序表的查找 7. (7分)设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。 A. 20 B. 256 C. 512 D. 1024 纠错 得分: 7 知识点:第六章 展开解析 答案 C 解析第六章第六节二叉树的性质

数据结构课程设计要求

一、数据结构课程设计要求 1. 学生必须仔细阅读《数据结构》课程设计方案,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。 2. 学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况, 二、数据结构课程设计题目 1. 运动会分数统计(限 1 人完成) 任务:参加运动会有n个学校,学校编号为 1 n。比赛分成m个男子项目,和w个女子项目。项目编号为男子 1 ............................ m,女子m+1??…m+w。不同的项目取前五名或前三名积 分;取前五名的积分分别为:7、5、3、2、1 ,前三名的积分分别为:5、3、2;哪些取前五 名或前三名由学生自己设定。(m<=20,n<=20 ) 功能要求: 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分, 3)可以按学校编号或名称、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5)数据存入文件并能随时查询 6)规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在 c 语言程序设计的书上,请自学解决) 请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2. 飞机订票系统(限1 人完成)任务:通过此系统可以实现如下功能:录入:可以录入航 班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息: 当航班信息改变可以修改航班数据文件要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 3. 文章编辑(限 1 人完成)功能:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80 个字符,共N 行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分 4 行输出"全部字母数"、"数字个数" 、"空格个数"、"文章总字数" (3)输出删除某一字符串后的文章;

数据结构课程设计题目

《数据结构》课程设计题目 1. 排序算法的性能分析 问题描述 设计一个测试程序,比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。 基本要求 (1)对冒泡排序、直接排序、选择排序、箱子排序、堆排序、快速排序及归并排序算法进行比较。 (2)待排序表的表长不小于100,表中数据随机产生,至少用5组不同数据作比较,比较指标:关键字参加比较次数和关键字的移动次数(关键字交换记为3次移动)。 (3)输出比较结果。 选做内容 (1)对不同表长进行比较。 (2)验证各算法的稳定性。 (3)输出界面的优化。 2. 排序算法思想的可视化演示—1 基本要求 排序数据随机产生,针对随机案例,对冒泡排序、箱子排序、堆排序、归并算法,提供排序执行过程的动态图形演示。 3. 排序算法思想的可视化演示—2 基本要求 排序数据随机产生,针对随机案例,,对插入排序、选择排序、基数排序、快速排序算法,提供排序执行过程的动态图形演示。 4. 线性表的实现与分析 基本要求 ①设计并实现线性表。 ②线性表分别采取数组(公式化描述)、单链表、双向链表、间接寻址存储方 式 ③针对随机产生的线性表实例,实现线性表的插入、删除、搜索操作动态演示(图 形演示)。 5. 等价类实现及其应用 问题描述:某工厂有一台机器能够执行n个任务,任务i的释放时间为r i(是一个整数),最后期限为d i(也是整数)。在该机上完成每个任务都需要一个单元的时间。一种可行的调

度方案是为每个任务分配相应的时间段,使得任务i的时间段正好位于释放时间和最后期限之间。一个时间段不允许分配给多个任务。 基本要求: 使用等价类实现以上机器调度问题。 等价类分别采取两种数据结构实现。 6. 一元稀疏多项式计算器 问题描述 设计一个一元稀疏多项式简单计算器。 基本要求 一元稀疏多项式简单计算器的基本功能是: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,…,c n,e n,其中n是多项式的项数,c i,e i,分别是第i项的系数和指数,序列按指数降序排序; (3)多项式a和b相加,建立多项式a+b; (4)多项式a和b相减,建立多项式a-b; (5)计算多项式在x处的值; (6)计算器的仿真界面(选做) 7. 长整数的代数计算 问题描述 应用线性数据结构解决长整数的计算问题。设计数据结构完成长整数的表示和存储,并编写算法来实现两长整数的加、减、乘、除等基本代数运算。 基本要求 ①长整数长度在一百位以上。 ②实现两长整数在取余操作下的加、减、乘、除操作,即实现算法来求解a+b mod n, a-b mod n, a?b mod n, a÷b mod n。 ③输入输出均在文件中。 ④分析算法的时空复杂性。 8. 敢死队问题。 有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。 要求:至少采用两种不同的数据结构的方法实现。 9. 简单计算器

数据结构课设汇总

数据结构课程设计

一、引言 (1) 二、原始数据和系统功能 (2) (一)原始数据 (2) (二)系统功能 (2) 三、程序总体设计 (2) (一)数据结构 (2) (二)模块划分和层次结构 (4) (三)函数原型清单 (5) (四)程序总体框架 (6) (五)程序组织 (10) 四、功能模块函数设计和调试 (11) (一) (11) (二) (13) 五、课程设计总结 (13) 六、程序清单 (14) (一)主控源程序文件main.cpp (14) (二)航空订票a.cpp (15) 一、引言

数据结构这门课程能够让我们更加深入的去理解c语言的结构和算法,增加我们对算法的理解程度。而数据结构试验更是在理论的基础上让我们更深层次的进行实践,加强我们的逻辑思维处理错误的能力,同时对我们各个方面都有着重要的影响,所以学好数据结构是非常有必要的 二、原始数据和系统功能 (一)原始数据 hainan 1 B60 SAT 121 180 fujian 2 C61 MON 10 100 lkongyan 3 S62 THU 10 50 guangxi 4 M63 WED 30 30 hefei 5 H64 THU 30 10 (二)系统功能 * 1.查看航线信息: * * 2.查看已订票客户信息: * * 3.查询航线: * * 4.添加航线: * * 5.办理订票业务: * * 6.办理退票业务* * 7.退出系统: * 三、程序总体设计 (一)数据结构

(二)模块划分和层次结构 依据程序的数据结构和功能,遵照“自顶向下”原则,采用基于函数的逐步求精法,描述该程序的层次结构。图1显示出该程序的层次结构,共三层。

数据结构课程设计内容

(一)课程设计要求 1.分组要求 每个人一个小组进行分组。 2.实训目的 (1)熟悉课程所学的内容,包括线性表、链表、串,栈,队列,树,图,查找和排序; (2)学生能够按照软件工程的规范要求,能够运用软件工程的基本概念、方法与过程来进行软件的设计与开发。 3.课程设计要求 (1)每组学生在以下项目中选择一项完成即可; (2)编写程序要严格按照程序编程规范进行代码编写; (2)必须按照个体软件的过程,真实地采集数据、填写相关的表格、编写有关的文档; (3)按照老师的要求,每个人必须独立完成; (4)按照实训的时间安排进行实训,实训结束后提交有关的表格与文档。(二)课程设计题目 1.线性表 (1)实验目的:利用顺序结构和链式结构实现线性表的基本运算。 (2)实验要求:对于顺序存储结构的线性表,验证其插入、删除操作;对以链式存储结构存储的线性表,验证其插入、删除、查找操作。 2.火车列车调度问题 (1)实验目的:利用顺序结构和链式结构实现栈和队列的基本运算 (2)实验要求:栈操作的验证火车调度;对于顺序队列、链队列的基本操作进行验证; 3.稀疏矩阵 (1)实验目的:利用三元组和十字链表实现稀疏矩阵的有关算法 (2)实验要求:以三元组作为存储结构实现稀疏矩阵的转置

4.二叉树 (1)实验目的:利用二叉链表实现二叉树的建立和遍历 (2)实验要求:以二叉链表作为存储结构建立二叉树;以二叉链表作为存储结构实现先序、中序和后序遍历二叉树 5.图的遍历和最短路径问题 (1)实验目的:在图的两种存储结构基础上实现图的遍历 (2)实验要求:采用连通无向图作为遍历对象对以邻接矩阵为存储结构的图实现深度优先搜索和广度搜索遍历;采用连通无向图作为遍历对象,建立邻接表时顶点对序号从大到小输入,对以邻接表为存储结构的图实现深度优先搜索和广度优先搜索遍历; 6.排序与查找 (1)实验目的:验证各排序与查找算法 (2)实验要求:编程实现排序与查找算法,包括直接插入排序、选择和起泡排序、折半查找 7.综合课程设计1 (1)实验目的:综合应用所学知识;培养系统设计的整体思想;提高编写程序、调试程序的能力;学习系统测试的方法;学习编写技术文档; (2)实验要求:约瑟夫环问题:设编号为1,2,3,……,n的n(n>0)个人按顺时针方向围坐一圈,每个人持有一个正整数密码。开始时任选一个正整数做为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m是停止报数,报m的人出列,将他的密码作为新的m值,从他的下一个人开始重新从1报数。如此下去,直到所有人全部出列为止。令n最大值取30。要求设计一个程序模拟此过程,求出出列编号序列; 8.综合课程设计2 (1)实验目的:综合应用所学知识;培养系统设计的整体思想;提高编写程序、调试程序的能力;学习系统测试的方法;学习编写技术文档; (2)实验要求:设计一个校园导游程序,为来访的客人提供各种信息查询

数据结构课程设计题目表

《数据结构》课程设计课题表 课题1:设计出链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题2:设计出顺序表结构的相关函数库,以便在程序设计中调用。要求: (1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题3:设计程序以实现任意两个高次多项式的加法和乘法运算。 要求: (1)所设计的数据结构应尽可能节省存储空间。 (2)程序的运行时间应尽可能少。 课题4:设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符及SQR和ABS函数的任意整型表达式进行求解。 要求:要检查有关运算的条件,并对错误的条件产生报警。 课题5:设计出二叉链表结构的相关函数库,以便在程序设计中调用。要求: (1)包括二叉树的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题6:设计出树结构的相关函数库,以便在程序设计中调用。要求: (1)包括树结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。 (3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。 课题7:选择合适的存储结构表示广义表,并能实现下列运算要求: (1)用大写字母表示广义表,用小写字母表示原子,并提供设置广义表的值的功能。 (2)取广义表L的表头和表尾的函数head(L)和tail(L)。

数据结构课设

课程设计报告排序二叉树

完成日期:2015/01/03 目录 一、需求分析 1.运行环境; 2.程序所实现的功能; 3.程序的输入: 4.程序的输出: 5.测试数据, 6.合作人及其分工 二、设计说明 1.算法设计的思想; 2.主要的数据结构设计说明; 3.程序的主要流程图; 4.程序的主要模块,; 5.程序的主要函数及其伪代码说明. 6.合作人设计分工。 三、上机结果及体会 1.合作人编码分工; 2.实际完成的情况说明; 3.程序的性能分析; 4.打印程序运行时的初值和运行结果,画出相应的图示; 5.上机过程中出现的问题及其解决方案; 6.程序中可以改进的地方说明; 7.收获及体会; 8.源程序清单并附上注释。 四、参考文献

一、需求分析 1.运行环境 a软件环境 操作系统:windows 7 编译器 microsoft visual studio 2010 b硬件环境 联想 n480 2.程序所实现的功能 1.创建二叉树: (1)按提示信息输入一组关键字值,并建立相应的二叉排序树。 (2)按照先序遍历方式显示建立的二叉排序树。 (3)按照中序遍历方式显示建立的二叉排序树。 (4)按照后序遍历方式显示建立的二叉排序树。 2.显示二叉排序树: (1)按照先序遍历方式显示二叉排序树。 (2)按照中序遍历方式显示二叉排序树。 (3)按照后序遍历方式显示二叉排序树。 (4)按照层次遍历方式显示二叉排序树。 3.删除一个结点: 要求可以实现删除根结点、叶子结点以及其它任意结点的功能。 (1)按照先序、中序、后序方式显示删除前的二叉排序树。 (2)按提示信息输入被删除结点的值,并在二叉排序树进行删除。 (3)显示删除是否成功的结果。 (4)若删除成功,则按照先序、中序、后序方式显示删除后的二叉排序树。 4.插入一个结点: (1)按照先序、中序、后序方式显示插入前的二叉排序树。 (2)按提示信息输入要插入结点的值,并在二叉排序树进行插入。 (3)显示插入是否成功的结果。 (4)若插入成功,则按照先序、中序、后序方式显示插入后的二叉排序树。 5.查找给定值的结点: (1)按照先序、中序、后序方式显示二叉排序树。 (2)按提示信息输入待查找的值,并在二叉排序树进行查找。 (3)显示查找是否成功的结果。 6.交换二叉排序树: (1)按照先序、中序、后序方式显示初始的二叉排序树。 (2)按照先序、中序、后序方式显示交换左右子树后的二叉排序树。 7.退出:退出整个算法演示程序。 3.程序的输入:

数据结构课程设计

郑州工业应用技术学院 课程设计说明书 题目:手机信息数据检索 姓名:王港 院(系):信息工程学院 专业班级:16级计算机科学与技术6班 学号:1601110241 指导教师:王礼云 成绩: 时间:2018 年 1 月 2 日至2018 年 1 月12

郑州工业应用技术学院 课程设计任务书 题目手机信息数据检索 专业、班级16级计算机科学与技术6班学号1601110241姓名王港 主要内容: 开发一个手机信息数据检索,使管理员可以很好的管理回收的手机,避免平时废旧手机没有作用,不知道如何去处理旧的手机等问题。减轻废旧手机资源的浪费。本废旧手机回收系统利用单链表实现了基本信息的添加。管理员能够对各种信息进行修改,例如手机信息添加,手机信息删除,密码修改,退出系统。 基本要求: 1、巩固并加深学生对数据结构基本算法的理解; 2、认识面向过程和面向对象两种设计方法的区别; 3、进一步掌握和应用VC++6.0 集成开发环境; 4、提高运用对于数据结构的理解,增强了我解决实际问题的能力; 5、初步掌握开发小型实用软件的基本方法。 主要参考资料: [1]谭浩强. C语言基础课程[M].北京:清华大学出版社,2009. [2]刘振安. C程序设计课程设计[M].北京:机械工业出版社,2016. [3]滕国文. 数据结构课程设计[M].北京:清华大学出版社, 2010. [4]吴伟民. 数据结构[M].北京:清华大学出版社, 2017. 完成期限:2018.1.2-2018.1.12 指导教师签名: 课程负责人签名: 2018 年1 月12 日

摘要 21世纪以来,经济高速发展,人们生活发生了日新月异的变化,特别是手机普及到每个人生活的各个领域。但对于手机的回收越来越不适应现在社会的发展。计算机技术的飞速发展,也为我们带来了巨大的便利。为了适应现代人们回收旧手机方便的愿望。手机信息管理系统软件能够为我们现如今手机回收带来巨大的便利。 我国现如今已经成为手机产品的生产消费大国,伴随着通信技术的迅猛发展,手机更新换代的速度不断提高。特别是追求时尚潮流的大学生群体手机的更换频率增加更快。随着智能手机产品不断推陈出新,手机更新换代的周期也在缩短。据业内人士估计,我国存量闲置手机至少以亿计,但旧手机的回收率却不到2%,旧手机的处置成为一大问题。 中国目前废旧手机的回收现状和回收模式,造成我国手机回收效率低下,更是对垃圾回收产业带来了巨大的冲击,同时目前,我国年废旧手机产生量约上亿部,大部分闲置家中,未能有效回收利用。既浪费了资源,又威胁居民身心健康,造成环境污染。在分析我国废旧手机回收利用现状的基础上,提出了完善废旧手机回收的法律制度、增强消费者环保意识、构建绿色环保废旧手机回收利用新模式等建议。本手机信息数据检索为回收手机的人管理废旧的手机使用,使用单链表实现,对于信息的增加删除效率比较高,可以很方便的进行各种信息管理,对于数据的管理可以让我们更好的面对管理手机的繁杂工作。 关键字:信息检索;冒泡算法;单链表

数据结构课程设计题目

“数据结构”课程设计题目 1、城市链表(3) [问题描述] 将若干城市的信息,存入一个带头结点的单链表。结点中的城市信息包括:城市名,城市的位置坐标。要求能够利用城市名和位置坐标进行有关查找、插入、删除、更新等操作。 [基本要求] (1)给定一个城市名,返回其位置坐标; (2)给定一个位置坐标P和一个距离D,返回所有与P的距离小于等于D的城市。 [测试数据] 由学生依据软件工程的测试技术自己确定。注意测试边界数据。 2、约瑟夫生死者游戏(3) [问题描述] 约瑟夫(Joeph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 [基本要求] 利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。 [测试数据] m的初值为20;密码:3,1,7,2,4,8,4(正确的结果应为6,1,4,7,2,3,5)。 [实现提示] 程序运行后首先要求用户指定初始报数上限值,然后读取各人的密码。设n≤30。 [选作内容] 向上述程序中添加在顺序结构上实现的部分。 3、括号匹配的检验(3) [问题描述] 假设表达式中允许有两种括号:圆括号和方括号,其嵌套的顺序随意,即(()[ ])或[([ ] [ ])]等为正确格式,[( ])或(((]均为不正确的格式。检验括号是否匹配的方法可用“期待的紧迫程度”这个概念来描述。例如:考虑下列的括号序列:

数据结构课程设计题

“数据结构”课程设计题目 1、城市链表 [问题描述] 将若干城市的信息,存入一个带头结点的单链表。结点中的城市信息包括:城市名,城市的位置坐标。要求能够利用城市名和位置坐标进行有关查找、插入、删除、更新等操作。 [基本要求] (1)给定一个城市名,返回其位置坐标; (2)给定一个位置坐标P和一个距离D,返回所有与P的距离小于等于D的城市。 [测试数据] 由学生依据软件工程的测试技术自己确定。注意测试边界数据。 2、约瑟夫生死者游戏 [问题描述] 约瑟夫(Joeph)问题的一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。 [基本要求] 利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。 [测试数据] m的初值为20;密码:3,1,7,2,4,8,4(正确的结果应为6,1,4,7,2,3,5)。 [实现提示] 程序运行后首先要求用户指定初始报数上限值,然后读取各人的密码。设n≤30。 [选作内容] 向上述程序中添加在顺序结构上实现的部分。 3、括号匹配的检验 [问题描述] 假设表达式中允许有两种括号:圆括号和方括号,其嵌套的顺序随意,即(()[ ])或[([ ] [ ])]等为正确格式,[( ])或(((]均为不正确的格式。检验括号是否匹配的方法可用“期待的紧迫程度”这个概念来描述。例如:考虑下列的括号序列:

数据结构课程设计题目

数据结构课程设计 一、考核方法和容 根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。 评分标准: 优秀:答辩所有问题都能答出+报告良好 或报告良好+实现“提高部分”的功能; 良好:答辩所有问题都能答出+报告一般; 或报告一般+实现“提高部分”的功能; 中等:答辩大部分问题能答出+报告良好; 及格:答辩大部分问题能答出+报告一般; 以下四种,都不及格: 1)答辩几乎答不出问题; 2)报告几乎都是代码; 3)雷同部分达到60%; 4)课设报告与数据结构和c/c++关联不大。 课设报告的装订顺序如下: 任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪些函数?为什么要这样设计?最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献; 课设报告打印要求: B5纸打印,报告总页数控制在10—15页,报告中不能全是代码,报告中代码总量控制在3页。版式:无页眉,有页码,页码居中 字号:小四,单倍行距 字体:宋体+Times new Romar 截图:截图要配图的编号和图的题目,如:“图1 Insert函数流程图” 二、课程设计的题目 1.长整数的加法运算 2.通讯录管理系统的设计与实现——顺序表 3.广义表的应用 4.学生成绩管理系统的设计与实现 5.家谱管理系统的设计与实现

数据结构课程设计题目(最终版)-2011

数据结构课程设计题目 2012-1 1、医务室模拟。(5人) 问题描述:假设只有一位医生,在一段时间内随机地来几位病人;假设病人到达的时间间隔为0~14分钟之间的某个随机值,每个病人所需处理时间为1~9分钟之间的某个随机值。试用队列结构进行模拟。 实现要求:要求输出医生的总等待时间和病人的平均等待时间。 程序设计思路:计算机模拟事件处理时,程序按模拟环境中的事件出现顺序逐一处理,在本程序中体现为医生逐个为到达病人看病。当一个病人就诊完毕而下一位还未到达时,时间立即推进为下一位病人服务,中间时间为医生空闲时间。当一个病人还未结束之前,另有一位病人到达,则这些病人应依次排队,等候就诊。 2、招聘模拟(5人) 问题描述:某集团公司为发展生产向社会公开招聘m个工种的工作人员,每个工种各有不同的编号(0,1,2,…,m-1)和计划招聘人数,参加招聘的人数有n个(编号为0,1,2,。。。,n-1)。每位应聘者可以申报两个工种,并参加公司组织的考试。公司将按应聘者的成绩,从高到低的顺序排队录取。公司的录取原则是:从高分到低分依次对每位应聘者按其第一志愿录取;当不能按第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其志愿考虑录取。 程序为每个工种保留一个录取者的有序队列。录取处理循环直至招聘额满,或已对全部应聘者都做了录用处理。 实现要求:要求程序输出每个工种录用者的信息(编号、成绩),以及落选者的信息(编号、成绩)。 3、组织机构问题(5人) 问题描述:以物资学院为例,实现对我校组织结构的管理。要求把我校的组织结构以树型结构存储,实现要求: (1)树中每个结点保存部门名称; (2)假定处级部门(含院系)在树中第二层,科级部门在第三层(即最后一层),软件应该能计算出处级部门有几个,有哪几个? (3)软件可以查询某部门下面的具体编制? 4、最少换车次数问题(5人) 问题描述:设某城市有n个车站,并有m条公交线路连接这些车站。设这些公交车站都是单向的,这n个车站被顺序编号为0~n-1。编程序,输入该城市的公交线路数,车站个数,以及各公交线路上的各站编号。 实现要求:求得从站0出发乘公交车至站n-1的最少换车次数。 设计思路:利用输入信息构建一张有向图G(邻接矩阵存储),有向图的顶点表示车站,若某条公交线路经i站能到达j站,就在图G中存在一条有向边,权值为1。因此,从站x至站y的最少上车次数对应于图G中从顶点x到顶点y的最短路径长度。 5、职工工作量统计(5人) 问题描述:采用随机函数产生职工的工号和他所完成产品个数的数据信息,对同一职工多次完成的产品个数进行累计,按职工完成产品数量的名次、该名次每位职工完成的产品数量、同一名次的职工人数和他们的职工号格式输出。

数据结构作业

《数据结构》课程设计报告 2014-2015学年第一学期 课程设计题目: 设计学生姓名: 所在系部名称:计算机工程系 所在班级名称:计算机科学2013() 参加设计时间: 课程设计课时: 30 指导教师姓名: 年月日

第一题目: 假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即线性表中的数据元素即为集合中的成员。现要求一个新的集合C=A∪B。 算法思想: 先初始化线性表LC,将LA的所有元素复制到LC中,然后扫描线性表LB,若LB的当前元素不在线性表LA中,则将其插入到LC中。 Void unionList(List LA, ListB, list &LC) { int Lena, Lenc, i; Elem Type e; Init List (LC); for (i=1;i<=ListLength (LA);i++) /*将LA的所有元素插入到LA中*/ { GetLElem(LA,i,e); ListInsert(LC,i,e,); } Lena=ListLength(LA);/*求线性表的长度*/ Lenb=ListLength(LB); For(i=1,i<=Lenb;i++) { GetElem(LB,i,e);/*取LB中第i个数据元素赋给e*/ If(!LocateElem(LA),e)); ListInsert(LC,++Lena,e);/*C中不存在和e相同者,则插入到LA中*/ } } 第二题目: 有顺序表LA和LB,其元素均按从小到大的升序排列,编写一个算法将它们合并成一个顺序表LC,要求LC的元素也是按从小到大的升序排列。 算法思想: 依次扫描顺序表A和BD的元素,比较当前元素的值,将较小值的元素赋给C,重复,直到一个线性表扫描完毕,然后将未完的那个顺序表中余下部分赋给C。顺序表C的容量要能够容纳A、B两个顺序表相加的长度。

数据结构课设

学号1507030222 数据结构课程设计 设计说明书 Gorilla管理信息系统+Gorilla图结构数据应用 起止日期:2017年01月09 日至2017年01 月13日 学生姓名XXX 班级15网络2班 成绩 指导教师(签字) 计算机与信息工程学院 2017年01月09日

天津城建大学 课程设计任务书 2016—2017学年第1 学期 计算机与信息工程学院网络工程专业网络2 班级 课程设计名称:数据结构课程设计 设计题目:Gorilla管理信息系统+Gorilla图结构数据应用 完成期限:自2017 年01月09日至2017 年01月13 日共 1 周 设计依据、要求及主要内容(可另加附页): 一、建立一个小型的管理信息系统:1、确认管理信息系统的主题: (一)主题词汇表: 1.hippopotamus 河马 2.jackal 豺 3.kingfisher 翠鸟 4. leopard豹 5.lion 狮 6.actor 演员 7.astronaut 太空员 8.policeman 警察 9.firefighter 消防员10.mugger 强盗11.farmer 农民12. boss 老板13.dancer 跳舞者14. Ostrich 鸵鸟15. pilot 飞行员 16.hairdresser 理发师17. Mule 骡18.waiter 服务员19.accountant 会计20.monk--和尚21.dog—狗22. priest--牧师23.director-- 导演24.model-- 模特儿25. singer--歌手 26.dentist--牙医27. elephant--象28.nurse--护士29.navigator-- 航海家30.pilot-- 飞行员31.architect建筑师32. peacock孔雀33.baker面包师34.businessman商人35. penguin企鹅36.receptionist接待员37.secretary--秘书38.attorney--律师39.judge--法官40. rabbit兔子41.carpenter---木匠42.painter--油漆匠43.tailor--裁缝师44.driver--司机45.captain--船长46.fisherman--渔夫47.doctor医师48.gardener园丁49. chemist-药剂师50.engineer工程师51.scientist--科学家52.salesperson售货员53.photographer摄影师54.fox狐55.hourse 马56.giraffe 长颈鹿57.goat 山羊58. Gorilla 大猩猩59.Seagull海鸥60.hedgehog 刺猬 61. Teacher 教师62.professor 教授63. cook 厨师64.principal 校长65.singer 歌手 66. monkey猴子 按对应序号的后两位,每个同学获取对应词汇。 (二)为每个主题词确定具有特征的信息集。 例:fish:{id, name, length, Weight, Color, Is_C arnivore, Is_Marine} 意义:{编号,名字,长度,体重,颜色,是否食肉,是否海鱼} Gorilla:{num,high,weight,name,sex,position,group} 意义:{编号,身高,体重,名字,性别,地位,族群名} struct Gorillanode//定义一个名字为Gorillanode的结构体 {

数据结构课程设计题目(1)

数据结构课程设计题目 1.表达式求值 问题描述: 一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。 基本要求: (1)从键盘读入一个合法的算术表达式,输出正确的结果。 (2)显示输入序列和栈的变化过程。 选作内容: (1)扩充运算符集合。 (2)引入变量操作数。 (3)操作数类型扩充到实数。 2. 简单的员工管理系统 问题描述: 每个员工的信息包括编号、姓名、性别、出生年月、学历、职务、电话、住址等。系统的功能如下。 实习要求: (1)查询:按特定条件查找员工。 (2)修改:按编号对某个员工的某项信息进行修改。 (3)插入:加入新员工的信息。 (4)删除:按编号删除已离职的员工的信息。 (5)排序:按特定条件对所有员工的信息进行排序。 3. 迷宫问题 问题描述: 迷宫实验是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口到出口,而不走错一步。老鼠经多次实验终于得到它学习走迷宫的路线。设计一个计算机程序对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现提示: 可以利用一个二维数组maze[i][j]表示迷宫,其中1<=i<=m,1<=j<=n,m和n分别代表迷宫的行数和列数。数组元素值为1表示该位置是墙壁,不能通行;元素值为0表示该位置是通路。假定从maze[1][1]出发,出口位于maze[m][n],移动方向可以是8个方向(东、东南、南、西南、西、西北、北和东北)。计算机解迷宫时,通常用的是“穷举求解”的方法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路退回,换一个方向再继续探索,直至所有可能的通路都探索到为止。为了保证在任何位置上都能沿原路退回,需要用一个后进先出的栈结构来保存从入口到当前位置的路径。 4.最小生成树的两种算法 要求:任意创建一个图,分别用Prime算法和kruskal算法,求出该图的最

数据结构课程设计题目分析

数据结构课程设计题目 1. 飞机订票系统(限1 人完成) 任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息: 当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 2. 宿舍管理查询软件(限1 人完成) 1) 任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: A. 采用交互工作方式 B. 建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种) 2) 查询菜单: (用二分查找实现以下操作) A. 按姓名查询 B. 按学号查询 C. 按房号查询 3. 校园导航问题(限1 人完成) 设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径). 4. 图书借阅管理系统(限1 人完成) 主要分为两大功能: 1) 图书管理(增加图书、查询图书、删除图书、图书借阅、还书); 2) 会员管理(增加会员、查询会员、删除会员、借书信息);

相关主题