ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:142.50KB ,
资源ID:2331172      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2331172.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计53190.doc)为本站会员(dzzj200808)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计53190.doc

1、目录设计目的: .3设计内容: .31猴子选大王 .32 建立二叉树,层序、先序遍历 .33 各种排序 .3设计过程: .4内容一: .4内容二: .5内容三: .7心得体会: .10设计目的:1. 熟练掌握二叉树的建立和对二叉树进行各种遍历的操作。2. 运用单链表结构解决实际问题,将理论运用到实践。3. 掌握几种重要的排序方法。4. 掌握一些基本的实用的算法。5. 通过实际运用充分掌握书本上的内容。设计内容:1猴子选大王任务:一堆猴子都有编号,编号是 1,2,3 .m ,这群猴子(m 个)按照 1-m 的顺序围坐一圈,从第 1 开始数,每数到第 N 个,该猴子就要离开此圈,这样依次下来,直到

2、圈中只剩下最后一只猴子,则该猴子为大王。要求:输入数据 m,n(m,n 为整数,nusing namespace std;typedef struct Node /创建结构体int num;struct Node *next;Node,*UsNode;void Usf(int m,int n) /m为猴子数,n为单次循环数/创建一个环UsNode head,p,q,r;head=(Node *)malloc(sizeof(Node)*m);p=head;p-num=1;for(int i=2;inext=r;r-num=i;p=r;p-next=head;q=p;p=head;while(q-

3、next!=q)for(int i=1;inext;q=q-next;r=p;p=p-next;q-next=p;free(r);coutnumx;couty;Usf(x,y);A. 概要设计:使用结构体,每个节点代表一只猴子,每个节点存储猴子的编号和指向下一只猴子的指针。使用单链表将所有猴子连接成一圈,使用 2 个指针,指向前后两只猴子,没数到一个猴子 P,将q 的 next 指向 p 的 next,以达到将猴子 P 圈出的目的,循环直到只有 1 只猴子为止;时间复杂度为:O(n);B. 调试分析:输入:猴子数:10数圈循环周期:4输出:猴子王是 5号猴子!内容二:#include #inc

4、lude #define NUM 100using namespace std;int NodeNum;typedef struct nodechar data;struct node *lchild,*rchild;BinTNode,*BinTree; /自定义二叉树的结点类型BinTree CreatBinTree(void) /先序序列建立二叉树BinTree T;char ch;if(ch=getchar()= )return(NULL); /以空格作为续接点标志else T=(BinTNode *)malloc(sizeof(BinTNode); /生成结点T-data=ch;T-l

5、child=CreatBinTree(); /构造左子树T-rchild=CreatBinTree(); /构造右子树return(T);void Pre(BinTree T) /先序遍历if(T) printf(“%c“,T-data); Pre(T-lchild); /先序遍历左子树Pre(T-rchild); /先序遍历右子树void ceng(BinTree T)int front=0,rear=1;BinTree LineNUM,p; /定义结点的指针数组LineLine0=T; /根入队while(frontdata;if(Linefront-lchild!=NULL)Linere

6、ar+=Linefront-lchild;if(Linefront-rchild!=NULL)Linerear+=Linefront-rchild;front+;void main()BinTree T;T=CreatBinTree();coutusing namespace std;void main()int n,*a,l,j=0,c=0,i=0;coutn;a=(int *)malloc(sizeof(int)*n);couta0;c+;for(int x=0;xl;for(j=0;jj;i-)ai=ai-1;aj=l;break;if(j=c-1)ac=l;c+;for(i=0;ius

7、ing namespace std;void swap(int t=a;a=b;b=t;void px(int *a,int l,int r)int i,j;i=l;j=r;if(lr)return;while(i!=j)/判断是否排序完毕while(aj=ai if(ji)swap(ai+,aj);while(aii)i+;if(ji)swap(aj-,ai);px(a,l,i-1);/左半边递归px(a,i+1,r);/右半边递归void main()int n,i=0,m,y=0;cinn;m=n;int *a=(int *)malloc(sizeof(int)*n);while(m-)

8、cinay+;px(a,0,n-1); for(i=0;in;i+)coutai“ “;coutendl;A 设计概要:基本思想是:将要排序的数据分割成两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。时间复杂度:平均为:O(nlog2n),最坏为O(n 2),最好为: O(nlog2n)。 B 调试分析:输入:85 7 3 10 1 2 8 4输出:1 2 3 4 5 7 8 10过程:4 7 3 10 1 2 8 54 5 3 10 1 2 8 74 2 3 10 1 5 8 74

9、 2 3 8 1 5 10 74 2 3 1 8 5 10 71 2 3 4 8 5 10 71 2 3 4 7 5 8 101 2 3 4 5 7 8 10心得体会:经过此次课程设计,我把平时课上学习的理论知识,运用了起来,写成了代码,锻炼了自己的逻辑思维能力,提高了自己的语法;同时,编写代码的过程中,我也把书上的知识整理了一遍,使理论和实践相结合起来,算是做了一次复习。但是,在做这几个题目的时候,发现自己对于树的使用还不是很透彻,尤其是对遍历过程中的递归的使用不是很熟练,甚至不是很理解,我会在以后的学习过程中加强这方面的联系。对于数据结构这门课,我是十分喜爱的,这源于我对算法的喜爱,通过这门课程,我了解了很多算法的思想精髓,虽然没能写出每个算法,但是了解他们,是我学习的第一步。作为一名计算机专业的学生,逻辑思维能力的要求是必须的,而这门课程,刚好也给了我们这样一个机会去锻炼这种能力,虽然学习中有很多问题没有搞清楚,但是我相信,以后更多的实践机会会让我们的技术有很大的提高!

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报