- 4
- 0
- 约8.17千字
- 约 26页
- 2018-03-04 发布于贵州
- 举报
数据结构课程设计总结报告-猴子选王问题和二叉树求解参考
目录
一、问题描述 2
1.1问题描述 2
1.1.1 猴子选王问题 2
1.1.2二叉树问题 3
1.2基本要求 3
1.2.1猴子选王问题 3
1.2.2二叉树问题 3
二、问题分析 3
2.1 猴子选王问题的分析 3
2.1.1需求分析 3
2.1.2过程分析 4
2.2二叉树求解问题 5
2.2.1需求分析 5
2.2.2过程分析 5
三、 数据结构描述 6
3.1猴子选王问题 6
3.2 二叉树求解问题 7
四、 算法设计 7
4.1猴子选王问题 7
4.1.1单循环链表解决猴子选王问题 7
4.1.2顺序结构(数组)解决解决猴子选王问题 10
4.2二叉树问题的求解 11
五、 详细程序清单 12
5.1猴子选王问题 12
5.1.1单循环链表解决猴子选王问题 12
5.1.2顺序结构(数组)解决解决猴子选王问题 15
5.2二叉树问题的求解 18
六、 程序运行结果 20
6.1猴子选王问题 20
6.1.1单循环链表解决猴子选王问题 20
6.1.2顺序结构(数组)解决解决猴子选王问题 21
6.2二叉树问题的求解 22
七、 分析与体会 23
一、问题描述
1.1问题描述
1.1.1 猴子选王问题
一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1-m的顺序围坐一圈,从第1开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
1.1.2二叉树问题
已知二叉树T中结点的中序和后序遍历序列,编写算法实现构造满足上述条件的二叉树。
1.2基本要求
1.2.1猴子选王问题
(1)利用单循环链表作为存储结构模拟此过程;
(2)输入数据:输入m,n, m,n 为整数,nm;
(3)输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号 ,建立一个函数来实现此功能。
【选做内容】
(1)添加在顺序结构上实现的部分;
(2)界面设计的优化。
1.2.2二叉树问题
(1)假设二叉树T的结点值是字符。
(2)建立的二叉树以二叉链表的存储结构进行存储
(3)输出二叉树的先序遍历序列。
二、问题分析
2.1 猴子选王问题的分析
2.1.1需求分析
要求:
输入数据:输入整数m、n,mn
输出形式:提示输入m只猴子,数到的数为n,输出为大王的猴子为几号,建立一个函数来实现此功能.
步骤:输入m、n后,进行1—n的报数,每数到n,则删除该猴子,直至只剩一只猴子,输出它的编号为猴子王。
2.1.2过程分析
假设m=5,n=3
则过程为:
第一轮:1-2-3 淘汰3
第二轮:4-5-1 淘汰1
第三轮:2-4-5 淘汰5
第四轮:2-4-2 淘汰2
由此得出:4为猴子王!!!!
2.2二叉树求解问题
2.2.1需求分析
要求:
输入:某二叉树的中序和后序序列。
输出:求出其先序序列。
步骤:输入后序和中序序列后,判断是否存在树,存在则输出它的先序序列。
2.2.2过程分析
假设:
中序为:DBEAFCG
后序为:DEBFGCA
则求出该树:
则它的先序为:ABDECFG
数据结构描述
3.1猴子选王问题
typedef struct Lnode{
int data;
struct Lnode *next;
}linklist; //单循环链表解决猴子选王问题
3.2 二叉树求解问题
struct TreeNode
{
struct TreeNode* left;
struct TreeNode* right;
char elem;
}; //树的二叉链表存储表示
算法设计
4.1猴子选王问题
4.1.1单循环链表解决猴子选王问题
算法:
int monkeyking(int m,int n){
int i,total;
linklist *head,*p,*s,*q;
head =(linklist *)malloc(sizeof(linklist));
p = head;
p-data = 1;
p-next = p;
for (i = 2;i =m;i++){
s =(linklist *)malloc(sizeof(linklist));
s-data = i;
s -next = p-next;
p -next =s ;
p = p-next;
} //初始化链表
p = head;
total = m; //保存总节点数
q = head;
while (total!=1){
for(i=1;in;i++){
p = p-next; //报数过程,p指向要删
您可能关注的文档
最近下载
- 第七章测试·提升卷(考试版A4)(含答案)初中地理人教版(2024)八年级下册.docx VIP
- 亲子科学实验60例(家庭版).docx
- 第七章测试·基础卷(考试版A4)(含答案)初中地理人教版(2024)八年级下册.docx VIP
- 现代大学英语精读2_第三版__教师教案.doc VIP
- 建筑电气施工技术.pptx VIP
- 腰椎骨折的术后护理.ppt VIP
- 2025年河北省唐山市新质生产力发展研判:钢铁之城新智飞跃,4+4+N现代化产业体系激活唐山新质生产力[图].docx VIP
- 肉制品企业规章制度.docx VIP
- DB13_T 5366-2021 危险化学品企业安全风险管控与隐患排查治理规范DB13T5366-2021_6537.docx VIP
- 南阳市方城县2024年四上数学期末质量跟踪监视试题含解析.doc VIP
原创力文档

文档评论(0)