- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
张乃孝 算法与数据结构——C语言描述 顺序表基本运算的实现 算法2.1 创建空顺序表PSeqList createNullList_seq( void ) 算法2.2 顺序表的插入 int insert_seq( PSeqList palist, int p, DataType x ) 算法2.3 顺序表的删除 int delete_seq( PSeqList palist, int p ) 算法2.4 在顺序表中求某元素的下标 int locate_seq( PSeqList palist, DataType x ) 算法2.5 求palist所指顺序表中下标为p的元素值 DataType retrieve_seq( PSeqList palist,int p ) 算法2.6 判断线性表是否为空 int isNullList_seq( PSeqList palist) 算法2.2 顺序表的插入int insert_seq( PSeqList palist, int p, DataType x ) 算法2.3 顺序表的删除 int delete_seq( PSeqList palist, int p ) 算法分析 在有n个元素的线性表里,在下标为i(第i+1个)的元素之前插入一个元素需要移动n - i 个元素;删除下标为i(第i+1个)的元素需要移动n - i - 1个元素。 如果在下标为i的位置上插入和删除元素的概率分别是Pi和Pi’, 则插入时的平均移动数是: n mi=?(n-i)pi i=0 删除的平均移动数是: n-1 md=?(n-i-1)pi’ i=0 所以顺序表的插入和删除操作的时间代价为O(n)。 类似地,在顺序表中进行定位(locate_seq)操作,则要依次与表中元素进行比较,当定位的概率平均分布在所有元素上时,一次定位平均需要和n/2个元素进行比较,其时间代价为O(n)。 ? ? 假设llist是LinkList类型的变量,它指向单链表中的第一个结点,如图2.7(a)所示。当单链表为空表时,llist的值为NULL。 为使运算简单,可以在单链表的第一个结点之前另加一个结点,称之为头结点。头结点的info字段可以存放与整个链表相关的信息(例如元素个数等),也可以不存任何信息,头结点的link字段指向第一个结点,如图2.7(b)所示。 单链表基本运算的实现 算法2.7 创建空单链表LinkList createNullList_link( void ) 算法2.8 单链表的插入 int insert_link( LinkList llist, int i, DataType x ) 算法2.9 单链表的删除 int delete_link(LinkList llist, DataType x ) 算法2.10 在单链表中求某元素的存储位置 PNode locate_link( LinkList llist, DataType x ) 算法2.11 求单链表中下标为i的元素的存储位置 PNode find_link( LinkList llist, int i ) 算法2.12 判断单链表是否为空 int isNullList_link( LinkList llist ) 一元多项式的表示及相加 一个一元多项式Pn(x)可按升幂的形式写成: Pn(X)=P0+P1X+P2X2+P3X3+ … +PnXn 在计算机内,可以用一个线性表P来表示: P=(p0,p1,p2, …,pn) 用单链表存储多项式的结点结构如下: typedef struct Polynode { int coef; int exp; Polynode *next; } Polynode , * Polylist; /* p和q分别指向polya和polyb链表中的当前计算结点 if (p-exp q-exp) { …/*将p结点加入到和多项式中*/} else if ( p
您可能关注的文档
- 南京航空航天大学电子信息工程学院电子线路第一章 半导体的基础知识.pdf
- 南京航空航天大学机床数控技术第八章 数控机床的机械结构与装置.pdf
- 南京航空航天大学机床数控技术第二章 数控加工程序编制基础.pdf
- 南京航空航天大学机床数控技术第九章 分布式数字控制技术.pdf
- 南京航空航天大学机床数控技术第六章 数控机床的检测装置.pdf
- 南京航空航天大学机床数控技术第七章 数控机床的伺服驱动系统.pdf
- 南京航空航天大学机床数控技术第三章 数控编程方法.pdf
- 南京航空航天大学机床数控技术第十章 柔性制造系统.pdf
- 南京航空航天大学机床数控技术第四章 计算机数字控制装置.pdf
- 南京航空航天大学机床数控技术第五章 数控机床控制原理.pdf
最近下载
- 钢柱、钢梁、钢结构制作安装.pdf VIP
- xx售楼中心、样板间、会所物业服务方案.doc VIP
- 2025年贵州贵阳乌当富民村镇银行招聘客户经理笔试历年典型考题及考点剖析附带答案详解.docx
- 2025年初级钳工试题及答案钳工试题(含答案).docx VIP
- 一张奖状的动力(1).doc
- 框架钢结构施工组织设计.pdf VIP
- 2025年交管学法减分考试题库以及答案(160题完整版) .pdf VIP
- 学校食堂食材配送服务方案(肉类、粮油米面、蔬菜水果类).docx VIP
- 2025年交管学法减分考试题库以及答案(160题完整版) .pdf VIP
- 会计师事务所质量管理制度.docx VIP
文档评论(0)