算法与数据结构:第二章线性表_第1页
算法与数据结构:第二章线性表_第2页
算法与数据结构:第二章线性表_第3页
算法与数据结构:第二章线性表_第4页
算法与数据结构:第二章线性表_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 线性表 (Chapter 2. Linear Lists,2.1 线性表的逻辑结构,线性表特点,1、存在着唯一被称为“第一个”的元素,2、存在着唯一被称为“最后一个”的元素,3、除第一个外,每个元素均只有唯一前驱(predecessor,4、除最后一个外,每个元素均只有唯一后继(successor,线性表的基本操作,Initiate,Length,Get,Prior,Next,Locate,Insert,Delete,Empty,Clear,2.2 线性表的存储结构,一、顺序存储结构,b b+l b+2l b+(i-1)l b+(n-1)l,define MAXLEN user_sup

2、ply typedef struct elemtype elem MAXLEN ; int length ; sqlist,define LIST_INIT_SIZE user_supply #define LISTINCREMENT user_supply typedef struct elemtype * elem; int length ; int listsize ; sqlist,也可以用动态数组实现,status Initiate ( splist / 还可用 realloc 函数来重新分配空间,大小调整为增量,顺序表的插入,顺序表的插入,二、链式存储结构,typedef stru

3、ct lnode elemtype data ; struct lnode * next ; lnode , * linkedlist,由上可见,在链表的某一结点后插入一结点是很容易的,但若要插在链表头部,则需另行处理。为使插入操作统一,可在链表头部加上一个头结点(head node)。带头结点的链表,插入和删除操作就统一了,链表的插入,上面讲的是单链表(singly linked lists),此外,还有静态链表(implementing linked lists using array)、循环链表(circular linked lists)、双向链表(doubly linked lists)和双向循环链表(doubly circular linked lists,你们有谁能告诉我数组和链表在使用时的优缺点,2、在数据量已确定时,数组比链表节约空间,3、在数据量不确定时,链表比数组节约空间,4、链表的插入删除时不需要大量的数据移动,2.3 一元多项式(polynomial)的表示及运算,顺序存储结构表示,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论