- 1、本文档共79页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图2.4 顺序表中删除元素 例如:线性表(4, 9, 15, 21, 28, 30, 30, 42, 51, 62)删除第5个元素,则需将第6个元素到第10个元素依次向前移动一个位置,如图2.4所示。 算法描述: Status ListDelete_Sq(SqList L,int i,ElemType e){ if( (i1) || (iL.length) ) return ERROR; p=(L.elem[i-1]); e=*p; q=L.elem+L.length-1; for(++p; p=q; ++p) *(p-1)=*p; --L.length; return OK; } 时间效率分析: 插入算法花费的时间,主要在于循环中元素的后移 当插入位置为1时,需n次移动; 当插入位置为n+1时,不需移动元素; 当插入位置为i时,移动次数为n-i+1。 假定在表中任意位置插入元素都是等概率的,在第i个位置上插入元素的概率p(i)=1/(n+1) 插入操作时间效率(平均移动次数) 删除操作时间效率(平均移动次数) 删除算法花费的时间,主要在于循环中元素的前移 当删除位置为1时,需n-1次移动; 当删除位置为n时,不需移动元素; 当删除位置为i时,移动次数为n-i。 假定在表中任意位置删除元素都是等概率的,则删除第i个位置上元素的概率q(i)=1/n 5.在顺序表中查找元素的算法: LocateElem_Sq(La,e,equal); int LocateElem_Sq(SqList L,ElemType e, Status(*compare)(ElemType, ElemType)){ i=1; p=L.elem; while (i=L.length !(*compare)(*p++,e)) ++i; if (i=L.length) return i; else return 0; } 6. 有两个顺序表LA和LB,其元素均为非递减有序排列,编写一个算法,将它们合并成一个顺序表LC,要求LC也是非递减有序排列。例如LA=(2, 2, 3),LB=(1, 3, 3, 4),则LC=(1, 2, 2, 3, 3, 3, 4)。 算法思想:为使LC也是非递减有序排列,可设两个指针i、j分别指向表LA和LB中的元素,将所指元素中较小者插入到表LC中。 void MergeList_Sq(SqList La, SqList Lb, SqList Lc ){ pa=La.elem; pb=Lb.elem; Lc.listsize=Lc.length=La.length+Lb.length; pc=Lc.elem=(ElemType*)malloc(Lc.listsize*sizeof(ElemTpe)); if (!Lc.elem) exit (OVERFLOW); pa_last=La.elem+La.length-1; pb_last=Lb.elem+Lb.length-1; while (pa=pa_last pb=pb_last){ if (*pa=*pb) *pc++=*pa++; else *pc++=*pb++; } while(pa=pa_last) *pc++=*pa++; while(pb=pb_last) *pc++=*pb++; } O(La.length+Lb.length) 由上面的讨论可知, 线性表顺序表示的优点是: (1)无需为表示结点间的逻辑关系而增加额外的存储空间(因为逻辑上相邻的元素其存储的物理位置也是相邻的); (2)可方便地随机存取表中的任一元素。 其缺点是: (1)插入或删除运算不方便,除表尾的位置外,在表的其它位置上进行插入或删除操作都必须移动大量的结点,其效率较低; (2)预分配空间(浪费); (3)表的扩充不方便。 2.3 线性表的链式表示和实现 2.3.1 单链表 特点: 用一组任意的存储单元存储线性表的数据元素 利用指针实现了用不相邻的存储单元存放逻辑上相邻的元素 每个数据元素ai,除存储本身信息外还需存储其直接后继的信息 结点 数据域:元素本身信息 指针域:指示直接后继的存储位置 由于链表的每个结点只有一个指针域,故将这种链表又称为单链表。 单链表中第一个结点无前趋,应设一个头指针H指向第一个结点。 单链表中最后一个结点没有直接后继,则指定最后一个结点的指针域为“空”(NULL)。 整个链表的存取必须从头指针开始。 例如:图2.5所示为线性表(A,
您可能关注的文档
- 第五章有哪些信誉好的足球投注网站策略解读.ppt
- 第五章锁存器和触发器解读.ppt
- 普法PPT最终版分析讲述.ppt
- 第五章网页列表解读.ppt
- 石振宇-企业转型中的工业设计2003解读.ppt
- 第五章文件系统解读.ppt
- 石柱县师范附小:为自己心理健康导航解读.pptx
- 示波管工作原理解读.ppt
- 第五章污水处理工艺选择与设计计算III泵站3-10解读.ppt
- 第五章线性系统的频率分析解读.pptx
- 2024至2030年中国羚羊角类饮片行业深度调查与前景预测分析报告.docx
- 重庆市面向中国农业大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题14笔试历.docx
- 重庆市面向西北工业大学定向选调2024届大学毕业生00笔试历年典型考题及解题思路附答案详解.docx
- 中国不动杆菌感染治疗药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- 2024至2030年全球与中国ETL软件市场现状及未来发展趋势.docx
- 初中八年级(初二)生物下册期末考试1含答案解析.docx
- 干簧式继电器项目申请报告.docx
- 2024至2030年中国左氧氟沙星片行业深度调查与前景预测分析报告.docx
- 菜籽项目申请报告.docx
- 2024至2030年中国八角钢行业深度调查与前景预测分析报告.docx
最近下载
- 2023首席质量官真题2.pdf VIP
- 山西美盛物资贸易有限公司邓家庄煤矿机械化升级改造可行性研究报告.doc
- 思科网络实验室路由和交换实验指南.pdf
- 保洁服务投标文件示范文本.docx
- 《物联网技术导论与应用》黄玉兰习题答案.docx
- 《混凝土结构与砌体结构》 习题答案 习题答案 课后习题.doc VIP
- 中职学校《极限配合与技术测量基础》电子教案(含教学进度计划)(配套教材:劳社版中职统编)云天课件.doc
- 人教二上第4课 彩泥世界快乐多教案(表格式).doc
- 2024年国家电投集团陕西新能源有限公司渭南分公司人员招聘笔试备考题库及答案解析.docx
- 基于“互联网+”,开展立德树人——浅谈初中历史教学与思政教育的融合.docx
文档评论(0)