构造可以使n个城市连接的最小生成树.cpp
程序要求:
1城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。
2表示城市间距离网的邻接矩阵(要求至少10个城市,20条边)
3最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。
哈希表设计问题.CPP
功能描述:针对自己的班同学名单设计一个哈希表,使得平均查找长度不超过2,完成相应的建表和查表程序。
设计要求:假设人名为中国姓名的汉语拼音形式,哈希函数用除留余数法构造,用链表法处理冲突。
教学计划编制问题.cpp
功能描述:获取你的专业培养计划,根据大学期间开设的课程之间的前后关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。
设计要求:对各门课程进行编号,输入课程开设拓扑图,输出所有可能的开课拓扑序列。
计算一元稀疏多项式.cpp
功能描述:计算一元稀疏多项式。
设计要求:
1) 输入并建立多项式;
2) 输出多项式,序列按指数升序排列;
3) 多项式a和b相加;
4) 多项式a和b相减;
5) 用带表头结点的单链表存储多项式。
测试数据:
1)(2x+5x8-3.1x11)+(7-5x8+11x9)
2) (6-3x+4.4x2-1.2x9)-(-6-3x+5.4x2+7.8x15)
3)(x+x2+x3)+0
4)(x+x3)-(-x-x-3)
任意长的整数加法.cpp
长整数加法的总体目标:在VC6.0的开发环境下,利用所学C语言和数据结构的相关知识,开发一个可实现任意长的整数加法的演示程序,并具有良好的人机交互界面
基本功能如下:
(1)设计一个实现任意长的整数加法运算演示程序。
(2)利用双向链表实现长整数的存储,每个结点含一个整型变量。
(3)输入输出形式,每四位一组,用逗号隔开。
关键路径求解.cpp
功能描述:对于任何大型工程项目(不少于10个活动),求其关键路径。
设计要求:
1)输入活动持续时间、结点编号。
2)输出关键活动、图形化关键路径。
敢死队问题求解.cpp
功能描述:有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。如果前一个战士没完成任务,则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完成为止。排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。
设计要求:至少采用两种不同的数据结构的方法实现,结果输出到文件保存。
实时监控报警系统.cpp
实时监控报警系统程序功能:有友好界面、报警编号、报警时间、报警内容、是否出警、出境原因、输出出警及报警信息等等。
宿舍管理查询软件.CPP
功能描述:为宿舍管理人员编写一个宿舍管理查询软件。
设计要求:采用交互工作方式;建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种);查询 (用二分查找实现以下操作)按姓名查询,按学号查询,按房号查询。
图的遍历和生成树求解实现.cpp
功能描述:实现图的深度、广度优先遍历及两种算法下的生成树。
设计要求:
1)先任意创建一个图;
2)对图进行DFS,BFS的递归和非递归算法的实现;
3)最小生成树(两个算法)的实现,求连通分量的实现;
4)设计要求用邻接矩阵、邻接表结构存储实现。
电话号码查找系统.cpp
利用散列表设计与实现电话号码查询程序。
设每个记录有下列数据项:电话号码、用户名、地址等;
从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;
查找并显示给定电话号码的记录;查找并显示给定用户名的记录;
设计不同的散列函数,比较ASL大小;
在散列函数确定的前提下,尝试不同类型处理冲突的方法,考察平均查找长度的变化。
计算表达式的值.cpp
设计要求:从键盘输入表达式,利用算符优先原则求中缀表达式,并将表达式及其结果存入指定文件。
设计要求:自定义数据。
飞机订票系统.cpp
功能描述:
1)可以录入航班情况,数据存储在一个数据文件中,数据结构、具体数据自定;
2)可以查询某个航线的情况如输入航班号,查询起降时间,抵达城市,航班票价,票价折扣,确定航班是否满仓;
3)可以输入起飞抵达城市,查询飞机航班情况;
4)订票。订票情况可以存在一个数据文件中,结构自己设定;
5)转乘。如果该航班已经无票,可以提供相关可选择航班;
6)退票。可退票,退票后修改相关数据文件;
7)客户资料,订票数量及航班情况,订单要有编号。
8)修改航班信息。当航班信息改变可以修改航班数据文件
设计要求:
根据以上功能描述说明,设计航班信息,订票信息的存储结构,设计程序完成功能描述。
排序综合比较.cpp
功能描述:利用随机函数产生N个随机整数(N大于20000),对这些数用多种算法排序。
设计要求:
1)至少采用五种方法实现上述问题求解(可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序),并把排序后的结果保存在不同的文件中。
2)记录每一种排序方法耗时情况并进行性能对比分析,找出其中两种较快的方法。
求一元多项式中缀表达式及值.cpp
需要建一个txt文件,内容eg:(1+2+3+4+5)*2-56/7
从文件读取表达式,判断表达式是否合理,将表达式转换成后缀形式并找求值;题目涉及加减乘除,带括弧的混合运算;随时可以退出。
设计要求:自定义测试数据。
简单的职工管理系统.cpp
功能描述:对单位的职工进行管理,包括插入、删除、查找、排序等功能描述。
设计要求:
职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。
1)增加:将新增职工对象按姓名以字典方式存储到职工数据文件中;
2)删除:从职工数据文件中删除一名职工对象;
3)查询:从职工数据文件中查询符合某些条件的职工;
4)修改:检索某个职工对象,对其某些属性进行修改;
5)排序:按某种需要对职工数据文件进行排序。
一元多项式的实现.cpp
还可以输出运算时间进行比较
main.h文件
//动态存储结构
struct term{
float xishu; //一元多项式系数
int zhishu; //一元多项式指数
};
struct LNode{
//单链表存储term多项式值
term data;
struct LNode *next;
};
typedef LNode* polynomail;
制作一个通讯录.cpp
功能描述:实现完善的通讯录功能描述。
设计要求:用数据文件存储,界面友好。
需要建立一个txt文件
活期储蓄账目管理.cpp
功能描述:银行活期储蓄业务中,储户开户、销户、存入、取款、转账
设计要求:
能比较迅速地找到储户的帐户,以实现存款、取款、转帐;
能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。
学生成绩管理系统.cpp
学生成绩管理系统
功能描述:学生信息,课程信息的输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出。
设计要求:自定义学生,课程信息完成以上功能描述。
数据结构算法演示.zip
该程序以动画的形式向学习者展示各种算法的执行过程,帮助学习者更好的理解。无需安装,解压即用。包括顺序表、链表、栈、串、稀疏矩阵、广义表、二叉树、图、存储管理、静态查找、动态查找、内部排序、外部排序等。使用语言为C/C++以及Pascal语言。
图书借阅及会员管理系统
图书管理,包括增、删、编辑图书信息、查询图书(折半算法)、图书借阅、还书等;
会员管理,包括增加增、删、编辑会员信息、查询会员、借书信息。
数据结构课题:校园导航,编程工具Dev C++
源代码:设计我校的平面图导航,至少包括10个以上的场所,每两个场所间有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。