数据结构第3讲--线性表概念与表示.pptx

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 线性表 第3讲:线性表的概念与表示;(2) 逻辑结构上的分类:集合、线性、树、图;线性结构的一种:线性表;线性表引例;2.1 线性表的基本概念;2.1 线性表的基本概念;2.1 数据元素的类型;2.1 线性表特点;;2.1 线性表的抽象数据类型;2.1 线性表的抽象数据类型;线性表的数据结构;;顺序存储: 用一组连续的内存单元、按照逻辑顺序、 依次存储线性表中的元素 ?顺序表; ; 逻辑相邻 <=> 物理相邻(存储位置相邻); 逻辑相邻 <=> 物理相邻(存储位置相邻);struct SeqList { int MaxNum; int n; DataType *element; };;PSeqList palist; ;typedef struct SeqList * PSeqList; ;palist -> element[i];; 1. 创建空顺序表 2. 判断顺序表是否为空表 3. 查找元素、求某元素的下标 4. 在顺序表中插入元素 5. 从顺序表中删除元素;3) 设置表的最大长度MaxNum, 实际长度0; printf(“Out of space!\n”); //结构空间分配失败 return NULL; ; if(palist != NULL) //顺序表结构空间申请成功;int isNullList_seq(PSeqList palist) { return (palist->n ==0); //空则返回1 };在palist指向的顺序表中查找x,返回下标;在顺序表中下标为p的元素之前插入x;4. 插入元素; if (p<0 || p> palist->n ) { printf(“p does not exist! \n”); return 0; };palist->n = palist->n+1; return 1; } ;1. 在palist指向的顺序表中,删除下标为p的元素;5. 删除元素;int delete_seq(PSeqList palist, int p);1. 查找x首次出现的位置下标p int p = locate_seq(palist, x);;-- 问题规模n,待查找元素x的下标为p, 在下标p处插入或删除;顺序存储: 用一组连续的内存单元、按照逻辑顺序、 依次存储线性表中各元素 ?顺序表; ;非连续的内存单元;;;;2.3.1 带头结点的单链表;typedef struct Node * LinkList; ; 1. 创建空表 2. 判断是否为空表 3. 查找元素、求某元素的存储位置 4. 在单链表中插入元素 5. 从单链表中删除元素;2. 为头结点申请空间;;LinkList createNullList_link(void);int isNullList_link(LinkList llist) { return ( llist->link == NULL) ; }; return (p); }; 在指针p所指结点之后,插入元素x; else;2. 申请新结点q,置其数据域为x;;寻找指针p所指结点的前驱:;寻找p结点的前驱;4. 插入元素; //若成功找到下标为i-1的结点(p正指向它) ;q=(PNode)malloc(sizeof(struct Node)); ; 从单链表中删除第1个值为x的结点;int deleteV_link(LinkList llist, DataType x);2. 删除p;在单链表中查找第一个值为x的元素: ---- 从头结点开始,遍历、匹配 ---- 时间复杂度为O(n);顺序存储: 用一组连续的内存单元、按照逻辑顺序、 依次存储线性表中各元素 ?顺序表; ;优点: 1. 存储密度高:数据本身所占空间/结点空间; 2. 方便随机存取表中任一元素;;优点: 1. 插入或删除,只需修改指针,无需移动元素; 2. 动态分配存储空间;

文档评论(0)

朋友你好 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档