算法与数据结构(c语言描述)期中复习代码总结

算法与数据结构(c语言描述)期中复习代码总结

ID:5293276

大小:369.36 KB

页数:8页

时间:2017-12-07

算法与数据结构(c语言描述)期中复习代码总结_第1页
算法与数据结构(c语言描述)期中复习代码总结_第2页
算法与数据结构(c语言描述)期中复习代码总结_第3页
算法与数据结构(c语言描述)期中复习代码总结_第4页
算法与数据结构(c语言描述)期中复习代码总结_第5页
资源描述:

《算法与数据结构(c语言描述)期中复习代码总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、一.大o表示法:1.加法规则:f1(n)+f2(n)=o(max(f1(n),f2(n)))->顺序结构,if,switch结构2.乘法:f1(n)*f2(n)=o(f1(n)*f2(n))->for,while,do-while结构实例:(1)i=1;while(i<=n){i=i*2;}假设i=i*2发生的频度是f(n),则2^f(n)<=n,因此,f(n)<=log2n,T(n)=O(logn)ˀɻƴ˩Ɇ(不考虑底数)•V¦ʑCPUǪȶġȔ106eƖSĿzʼ¯ʅǢi108ȟ˨̄Sƴ˩T(n)=2n2

2、ȟɆDzʂˀɻĥ˦ƴ˩Y•ƢǣƪiT(n)=T(108)=2×(108)2=2×1016•ˀɻƴ˩i2×1016/106=2×1010ȶ•[Ĩǁ86,400ȶSƦ˸ʂ231,480ĨSå634Ŕ二.线性表•单链表的改进:1.循环链表-最后一个结点指针指向第一个结点(从循环链表中的任一结点出发,都能访问所有结点),常用方式:clist(最后一个结点),clist->link(第一个结点)2.双链表:很容易找到结点的前驱和后继,代价:每个结点增加一个指针的存储3.循环双链表:将链表的头尾指针存放在头结点中,

3、头结点由头指针cdlist指出,并链接在第一个结点和最后一个结点之间顺序表单链表definestructSeqlist{structNode;intMAXNUM;typedefstructNode*pNode;intn;structNode{DataType*element;pNodelink;}typedefstructSeqlist*PSeqlistDataTypeinfo;}typedefstructNode*Linklist;ListPSeqlistcreatNullList_seq(intm){Li

4、nklistcreateNullList_link{createNullList(void)PSeqlistpalist=(PSeqlist)malloc(sizeof(structSeqlist));Linklistif(palist!=NULL){llist=(Linklist)malloc(sizeof(structpalist->element=(DataTypeNode));*)malloc(sizeof(DataType)*m);if(llist!=NULL)llist->link=NULL;!

5、if(palist->element!=NULL){(?)elseprintf(“Outofspace”);palist->MAXNUM=m;!palist->n=0;returnllist;!returnpalist;}//带头结点!}!elsefree(palist);}printf("OutofSpace");returnNULL;}intisNull(Listlist)intisNull_seq(PSeqlistpalist){intisNull_link(Linklistllist){if

6、(palist->n==0)return1;return(llist->link==NULL);elsereturn0;}Positionintlocate_seq(PSeqlistpalist,DataTypex){PNodelocate_link(Linklistllist,locate(Listlist,inti;DataTypex){for(i=0;in;i++){PNodep;DataTypex)找第if(palist->element[i]==x)returni;if(llis

7、t==NULL)returnNULL;一个值为x的元素elsereturn-1;p=llist->link;}下标}while(p!=NULL&&p->info!=x){p=p->link;}returnp;}1顺序表单链表intinsertPre(Listlist,intinsertPre_seq(PSeqlistpalist,intp,DataTypex){intinsertPre_link(Linklistllist,PNodep,positionp,DataTypeinti;DataTypex){x

8、)在某位置前插入元if(palist->n>=palist->MAXNUM){//溢出PNodep1,q;if(llist==NULL)returnNULL;printf(“Outofflow”);素p1=llist;return0;while(p1!=NULL&&p1->link!=p){}p1=p1->link;if(p<0

9、

10、p>palist->n){//不存在下标为p的}//求p的前驱结点printf(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。