电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构课程设计基数排序

数据结构课程设计基数排序_第1页
1/2
数据结构课程设计基数排序_第2页
2/2
数据结构课程设计--基数排序 1、北京理工大学珠海学院计算机科学技术学院前言通过这次数据结构课程设计,我更加了解了数据结构这门课程!我认为要学好数据结构这门课程,不仅要认真阅读课本学问,更重要的是要通过上机实践才能增添和稳固我的学问。可见数据结构的课程设计对我们来说是受益匪浅,我们肯定要认真对待,希望我们打好扎实的专业基础。数据结构的课程设计是培育学生综合运用所学学问,发觉,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术进展的日新日异,算法日益增加,并且不断改良,所以我们要将它学好,作为以后工作的一个工具。“数据结构”是计算机程序设计的重要理论技术基础,它不仅是计算机学科的核心课程,而且已成为其他理工专业的热门选修课。排序是计算机程序设计 2、中的一种重要操作,他的功能是对一个数据元素〔或记录〕的任意序列,重新排列成一个按关键字有序的序列。由于待排序的记录数量不同,似的排序工程中设计的存储器不用,可将排序方法分两大类:一类是内部排序,一类是外部排序。其中基数排序的内部排序。2.概要设计 2.1 数据结构设计本程序是用 C 语言来实现。以下为数组的定义的结构体:#defingMAX_NUM_OF_KEY8#defineRADIX10#defineMAX_SPACE10000Typedfstruct{KeysTypekeys[MAX_NUM_OF_KEY];InfoTypeotheritems;Intnext;}SLCell;Typedefstruct{SLCellr[MAX_SPACE];Intkeynum;I 3、ntrecnum;}SLList;2.2 算法设计TypedefintArrType[RADIX];VoidDistribute(SLCellr,inti,ArrTypef,ArrTypee)for(j=0;jRadix;++j)f[j]=0;for(p=r[0].next;p;p=r[p].next){j=ord(r[p].keys[i]);if(!f[j])f[j]=p;elser[e[j]].next=p;e[j]=p;}}//DistributevoidCollect(SLCellr,inti,ArrTypef,ArrTypee){for(j=0;!f[j];j=succ(j));r[0].next=f[j];t=e[j];while(jRADIX){fo 4、r(j=succ(j);jRADIX-1!f[j];j=succ(j))if(f[j]){r[t].next=f[j];t=e[j];}}r[t].next=0;}//CollectvoidRadixSort(SLListL){for(i=0;iL.keynum;++i)L.r[i].next=i+1;L.r[L.recnum].next=0;for(i=0;iL.keynum;++i){Distribute(L.r,I,f,e);Collect(L.r,i,f,e);}}//RadixSort}〔1〕算法描述输入无序序列,进行最低优先法的基数排序。〔2〕时间冗杂度分析O〔n〕=O〔d(n+rd)〕2.3ADT 描述 ADTArray{数据对象:ji=0,…,bi- 5、1,i=1,…,n,D={ai|ai∈ElemSet,i=1,2,…,n,n=0}数据关系:R={R1,...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构课程设计基数排序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部