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

发布 2022-10-06 03:40:28 阅读 9379

题目:1. 给定两个序列x=和y=,要求找出x和y的一个最长公共子序列。

2. 设一单向链表的头指针为head,链表的记录中包含着整数类型的key域,试设计算法,将此链表的记录按照key递增的次序进行就地排序。(不允许使用数组做辅助存储)

3. 基数排序算法演示。

4. 连通无向图的非递归遍历。

5. 求二叉树根结点到指定结点的路径。

6. 判别给定的二叉树是否为二叉排序树。

7. 已知二叉树的中序和先序序列,求后序序列。

8. 拓扑排序,并演示过程。

9. 试修改起泡排序,以交替的正、反两个方向进行扫描。即第一趟把排序码最大的记录放到最末尾,第二趟把排序码最小的记录放到最头上。如此反复进行。

10. 最小生成树(普里母算法实现 28题用其他算法实现)

11. 迷宫求解:

在迷宫中求一条路径的算法,基本思想:若当前、位置可通过,则压入栈中,否则探索下一位置,若走不通,则回溯,迷宫大小:m*n。迷宫设置自定义。

12. 设明文p=p0p1p2…pn和密钥k=k0k1k2…km(n>=m)中的字符pi(1<=i<=n)或kj(1<=j<=m)的ascii为00~7fh,用密钥k对明文p进行加密得到密文c=c0c1c2…cn, 用密钥k对密文c解密得到明文p。

加密: ci=pi+kj (j=i mod (m+1)) 当ci<=7fh)

ci=pi+kj-80h (j=i mod (m+1)) 当ci>7fh)

解密:: pi=ci-kj (j=i mod (m+1)) 当ci>=kj)

pi=ci-kj+80h (j=i mod (m+1)) 当ci13. 求二叉树中指定两个结点共同的祖先。

根据字符使用权值不同,设计最优的二进制编码,初使条件:已知n个权值。实现顺序:先构造哈夫曼树,然后再求各叶结点的编码。

14. 判别给定的二叉树是否是完全二叉树。

15. 关键路径。

16. 给定表达式,键盘选择:求一个表达式的逆波兰式或直接表达式求值。

17. 汉诺塔非递归算法及其演示。

18. 已知二叉树的中序和后序序列,求先序序列。

19. 最小生成树(非普利姆算法)

20. 求树的宽度。

所谓宽度是指在二叉树的各层上,具有结点数最多的那一层上的结点总数。

21. 堆排序的实现:在顺序结构上完成,先建堆然后重建堆,最后实现全部排序演示过程。

22. 最短路径求图中任意两点间的最短路径

23. 归并排序算法:用两路归并算法,实现n个元素的排序。演示过程。

24. 求子串在主串中的位置并置换子串:给定主串和子串,显示出子串在主串中的第一个位置,基子串在主串中不存在,则返0;若非零则用给定的串替换子串。

25. 约瑟夫环演示。

26. 分子式是用来表达分子组成结构的表达式,一般表达形式为a1c1a2c2a3c3...其中ai(i=1,2,..

表示原子或原子团,ci(i=1,2,..表示原子或原子团ai重复的次数。当ci=1时,ci必须省略不写,且原子团的括号也不要。

例如n的原子量为14,h的原子量为1,c的原子量为12,o的原子量为16,因此(nh4)2co3的分子量为(14+1*4)*2+12+16*3=96。试编写程序求出给定的各个分子式所对应的分子量。

27. 内存分配算法:利用静态链表,模拟实现内存分配。

28. 请设计一个算法,把二叉树的叶子结点按从左到右的顺序连成一个单链表。二叉树用二叉链存储,链接时用叶子结点的rchild 域存放指针。

29. 对一个存储为邻接表的图,给出求其所有连通分量。

30. 哈夫曼编码,并演示编码过程。

31. 处理器中有一就绪队列,若干个进程依到达的时刻依次进入就绪队列,每个进程有进程名和处理器处理此进程的所需空间,仿静态链表形式分配内存所需空间,编程序实现cpu调度算法。

32. 学籍管理对学生、课程、成绩分别建立三个数据文件(学生、课程、成绩属性自定)。查询①某个学生的选课情况②成绩不及格的学生情况③对课程名按不及格学生人数进行排序④建立模拟索引。

33. 工资管理自己建立数据文件(提示可建立:职工、工资级别、职工工资)完成:①查询职工的平均工资②查询某一级别人员的平均工资③普调工资④将职工姓名按工资额度进行排序。

34. 房产信息管理按上述建立数据文件的方式对房产信息进行如下管理:①查询②修改③排序。

35. 供货信息管理按上述建立数据文件的方式对供货信息进行如下管理:①查询②修改③排序。

36. 五子棋。

在围棋比赛中,某一方(假设为黑方)在棋盘的某个位置(i,j)下子后,有可能提取对方(白方的一串子)。以w[19][19]表示一个棋盘,若w[i][j]=0表示在位置(i,j)上没有子,w[i][j]=1表示该位置上的是黑子,w[i][j]=-1表示该位置上是白子。模拟实现五子棋过程。

37. 整理货架。

商店货架以栈的形式摆放商品,生产日期越近的越靠近栈底,出栈是从栈顶取货,一天营业结束,如果货架不满,则需上货,如果直接将商品摆放到货架上,则会使生产日期越近的越靠近栈顶。这就需要倒货架,仍使生产日期越近的越靠近栈底。写出货物进栈、出栈算法。

38. 银行业务模拟问题描述:

客户业务分为两种。第一种是申请从银行得到一笔资金,即取款或借款。第二种是向银行投入一笔资金,即存款或还款。

银行有两个服务窗口,相应的有两个队列。客户到达银行后先排第一个队。处理每个客户业务时,如果属于第一种,且申请额超出银行现存资金总额而得不到满足,则立即排入第二队等候,直至满足时才离开银行,否则业务处理完后立即离开银行。

每接待完一个第二种业务的客户,则顺序检查和处理(如果可能)第二个队列的客户,对能满足的申请者予以满足,不能满足者重新排到第二个队列的队尾。注意,在此检查过程中,一旦银行资金总额少于或等于刚才第一个队列中最后一个客户(第二种业务)被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止检查(因为此时已不可能还有能满足者)转而继续接待第一个队列的客户。任何时刻都只开一个窗口。

假设检查不需要时间。营业时间结束时所有客户立即离开银行。写一个上述银行业务的事件驱动模拟系统,通过模拟方法求出客户在银行内逗留的平均时间。

39. 通讯录。

40. 人事档案管理。

41. 运动会分数统计程序的设计。

运动会分数统计。

任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。

项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为,前三名的积分分别为;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)

功能要求:1). 可以输入各个项目的前三名或前五名的成绩;

2).能统计各学校总分,3).可以按学校编号、学校总分、男女团体总分排序输出;

4). 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)

输出形式:有中文提示,各学校分数为整形。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

数据结构课程设计

课程设计说明书 题目哈夫曼编码问题的设计和实现。课程名称数据结构课程设计。院 系 部 中心。专业。班级。学生姓名。学号。设计地点。指导教师。设计起止时间 2008 年6月 2日至 2008 年 6月 6 日。目录。1 问题描述 2 1.1 题目内容 2 1.2 基本要求 2 1.3 测试数据 2 2...

数据结构课程设计

数据结构 课程设计。实验报告。学院 信息工程学院。班级 姓名 学号 指导老师 题目2 一元多项式的计算。1 实验目的。1 掌握链表的灵活运用 2 学习链表初始化和建立一个新的链表 3 知道怎样去实现链表删除结点操作与插入结点 4 理解链表的基本操作 包括数据域数据的相加 并能灵活运用。2 实验内容。...

数据结构课程设计

班级 信计 1102 姓名 李娜娜。学号 1108060209 设计日期 2013.07.15 西安科技大学计算机学院 1.实验题目 编制一个演绎扫雷游戏的程序。2.问题描述。做一个n x m的扫雷游戏,每个方格包含两种状态 关闭 closed 和打开 opened 初始化时每个方格都是关闭的,一个...