欢迎来到天天文库
浏览记录
ID:41549850
大小:308.00 KB
页数:37页
时间:2019-08-27
《算法与数据结构_计算机软件及应用_IT计算机_专业资料593685302》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据结构与算法课程设计题目:集合的计算表达式转换问题:八皇后问题:构造使n个城市连接的最小生成树摘要4一.集合的计算41•采用类语言定义相关的数据类型42.算法设计43•函数的调用关系图54.调试分析65.测试结果66.源程序(带注释)6二表达式转换问题71•采用类语言定义相关的数据类型122•算法设计133.函数的调用关系图144.调试分析145.测试结果146•源程序(带注释)15三.八皇后问题161.采用类语言定义相关的数据类型162.算法设计163.函数的调用关系图184•调试分析195.测试结果206•源程序(带注释)20四.构造可以使N个城市连接的最小生成树1.采用类
2、语言定义相关的数据类型162•算法设计163.函数的调用关系图184.调试分析195.测试结果206.源程序(带注释)20总结35参考文献36致谢361.通过程序实现两个集合的交并差运算和一个集合的冥集运算2.输入一个中缀表达式,通过程序输出一个后缀表达式3.通过程序将八个皇后放置在国际象棋棋盘的无冲突的位置上的算法,并给出所有的解4.给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价关键词:线性表;链栈;列队;树一.集合的计算设计一个程序,实现两个集合的并集、交集、差集、显示输出等,要求结果集合中的元索不重复;实现一
3、个集合的幕集的求解。1.采用类语言定义相关的数据类型typedefintElemType:typedefstruct{//线性表的结构体ElemTypedata[MAXSIZE];intlength;}SqList;2.算法设计A.初始化三个线性表,笫一个和第二个线性表分别为两个集合,笫三个线性表为计算后的集合voidInitListCSqList*L){〃初始化线性表L->data==NULL;L->length=0;A.求并集,把集合1和集合2中的元素不重复的放入集合2中voidoperate4(SqList*Ll,SqList*L2,SqList*L3){〃求并集inti,
4、j;ElemTyperes_date;InitList(L3);〃初始化L3for(i=0;ilength;i++){〃将属于LI同时也属于L2的元素赋值给L3res_date=L1->data[i];for(j=0;j1ength;j++){if(res_date==L2->data[j]){L3->data
5、L3->length]=res_date;L3->length++;break;}}}C・求交集,把即存在于集合1又存在于集合2的元索放入集合3中D.求差集,把存在于集1合1但不存在于集合2的元素放入集合3屮E.求该集合的任意个元素的组合,所有的组合加
6、上空集即是该集合的冥集3•函数的调用关系图4•调试分析a、输入的数据类型不统一。解决办法:对输入的数据进行筛选和检验b、算法的时间复杂度为o(n2)c、算法的空间复杂度为o(n2)5.测试结果例:集合1为{1,3,6,9,11}集合2为{2,4,5,9,12}求并集结果:求差集结果:F:CYuYanbinwwtemp.exe回>求"与L2的并集45678—请输入序号:[5]求差集结果MENU1->给集合LI和集合L2添加元素2-〉查看集合L2>求“与L2的交集>求"与L2的差集》求"的冥集>求12的冥集>退出系统13611>>>L1与L2求差集成功!0_0>>>按ENTER
7、键返回・・・6•源程序(带注释)/*实现两个集合的并集、交集、差集,实现一个集合的幕集的求解。程序中的线性表LI、L2分别为集合LI、L2,线性表L3为计算后的集合*/ttinclude#defineMAXSIZE10//线性表的最大长度typedefintElemType;typedefstruct{//线性表的结构体ElemTypedata[MAXSIZE];intlength;}SqList;////////////////线性表的操作函数//////////////////////////////voidInitList(SqList*L){//初始化线
8、性表L->data==NULL;L->length=0;}_intListTnsert(SqList*L,inti,ElemTypee){//向表中插入元素intk;if(i<=L->lcngth){//如果不在表尾插入for(k=L->length-l;k>=i~l;k—){L->data[k+l]=L->data[k];}L->data[iT]=e;L->length++;return1;}else{//如果在表尾插入L->data[iT]=e;L->length++;ret
此文档下载收益归作者所有