数据结构四川理工.ppt
《数据结构四川理工.ppt》由会员分享,可在线阅读,更多相关《数据结构四川理工.ppt(58页珍藏版)》请在三一办公上搜索。
1、 DCS of SUSE,第1章绪论,复习要点:1.数据结构基本概念 2.数据元素、数据项、逻辑结构、物理结构 3.时间复杂度、空间复杂度、语句频度等计算,DCS of SUSE,基本概念,(1)数据:所有能被计算机识别、存储和处理的符号的集合(包括数字、字符、声音、图像等信息)。(2)数据元素:是数据的基本单位,具有完整确定的实际意义。在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成。(3)数据项:构成数据元素的项目。它是数据不可分割的最小单位。(4)数据类型:指一个类型和定义在这个类型上的操作集合。例:C语言(基本类型:整型、浮点型、字符型等构造类型:数组、结
2、构、联合、指针、枚举等)(5)抽象数据元素:抽象定义的、没有实际含义的数据元素。(6)抽象数据类型:用户自己定义的数据类型。,DCS of SUSE,数据结构,DCS of SUSE,集合结构:仅同属一个集合线性结构:一对一(1:1)树 结 构:一对多(1:n)图 结 构:多对多(m:n),线 性,逻辑结构可细分为4类:,数据的逻辑结构,指数据元素之间的逻辑关系。即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。,DCS of SUSE,(1)R=(D,S)D=a,b,c,d,e,f S=,解:上述表达式可用图形表示为:,b c a e f d,此结构为线性的。,例:用图形表示下列
3、数据结构,并指出它们是属于线性结构还是非线性结构。,DCS of SUSE,物理结构亦称存储结构,是数据的逻辑结构在计算机存储器内的表示(或映像)。它依赖于计算机。,存储结构可分为4大类:,例:复数3.02.3i 的两种存储方式:,顺序、链式、索引、散列,法1:地址 内容,法2:地址 内容,2字节,数据的物理结构,DCS of SUSE,时间复杂度和空间复杂度如何表示?,DCS of SUSE,特别说明:如果无论算法规模怎样变化,其执行时间为一常数,则该算法的时间复杂度为O(1).,DCS of SUSE,DCS of SUSE,第2章 线性表,复习要点:1.基本概念 线性结构、线性表、位序、
4、长度、空表等2.线性表的基本操作 主要掌握插入、删除等运算及特性3.顺序存储、链式存储特点,组织方式 顺序表、单链表、双链表的查找、插入和删除等操作,DCS of SUSE,一、线性表(linear_list)线性表是n个数据元素的有限序列,记为:L=(a1,a2,an),数据元素之间的关系是:ai-1领先于ai,ai领先于ai+1。称ai-1是ai的直接前驱 元素;ai+1是ai的直接后继 元素。除a1外,每个元素有且仅有一个直接前驱元素,除an外,每个元素有且仅有一个直接后继元素。线性表中数据元素的个数n(n=0)称为线性表的长度,当n=0时,称为空表。,DCS of SUSE,线性表的顺
5、序存储结构,一、顺序存储结构 用一组地址连续的存储单元依次存储线性表的元素。设线性表的每个元素占用k个存储单元,则第i个元素ai 的存储位置为:Loc(ai)=Loc(a1)+(i-1)*k 其中,Loc(ai)为线性表的起址。,特点:存储单元地址连续(需要一段连续空间)逻辑上相邻的数据元素其物理位置也相邻存储密度大(100%)随机存取元素序号与存储位置存在如下关系:,Loc(ai)=Loc(a1)+(i-1)*d(1in),线性表的顺序存储指用一组地址连续的存储单元依次存储线性表的数据元素。这称为顺序表。,DCS of SUSE,二.插入和删除操作1.插入运算 INSERT(L,i,b)插入
6、前:L=(a1,.,ai-1,ai,.,an)插入后:L=(a1,.,ai-1,b,ai,.,an),算法思想:进行合法性检查,1=i=n+1;判断线性表是否已满;将第n个至第i个元素逐一后移一个单元;在第i个位置处插入新元素;将表的长度加1。,DCS of SUSE,线性表上的基本运算插入运算含义:将元素e插入到线性表:(a1,a2,ai-1,ai,an)中,构成新的线性表(a1,a2,ai-1,e,ai,an),满足ai-1 e ai,(其中为比较关系),即不破坏原线性关系。表的长度为n+1将元素e插入到元素ai-1之后,ai-1的直接后继和ai 的直接前驱就改变了,需要在顺序表的存储结构
7、上反映出来。,DCS of SUSE,2.删除运算DELETE(L,i)删除前:L=(a1,.,ai-1,ai,ai+1,.,an)删除后:L=(a1,.,ai-1,ai+1,.,an),算法思想:进行合法性检查,i是否满足1=i=n;判线性表是否已空,L.length=0;将第i+1至第n个元素逐一向前移一个位置;将表的长度减1。,思考:如果要删除指定位置开始的m个元素,如何实现?,DCS of SUSE,线性表顺序存储结构的特点(1).逻辑上相邻的元素,其物理位置也相邻;(2).可随机存取表中任一元素;(3).必须按最大可能长度预分存储空间,存储空间利用率低,表的容量难以扩充,是一种静态存
8、储结构;(4).插入删除时,需移动大量元素,平均移动元素为n/2。顺序表的基本运算的复杂度插入T(n)=O(n),S(n)=O(1)删除T(n)=O(n),S(n)=O(1),DCS of SUSE,线性表的链式表示和实现,链表-线性表的链式存储内涵:线性表的链式存储指用任意的存储单元存放线性表中的元素,每个元素与其直接前驱和(或)直接后继之间的关系用指针来存储。这称为链表。术语结点:数据元素及与其有直接关系的元素的地址构成的存储单位。,数据域,指针域,DCS of SUSE,单链表的表示和实现,单链表上的查找运算在单链表中,必须从头指针出发进行查找:查找第i个元素查找指定的元素是否在表中.若
9、找到,则返回该元素的值,否则返回ERROR。在单链表上查找第i个元素的示意图,k=1,找到,返回P指向的结点的数据。,问题:i n呢?,特别说明:指针的移动,不会删除结点。,DCS of SUSE,单链表上的插入运算(第i个位置上插入新的结点)逻辑运算(a1,a2,ai-1,ai,ai+1,an),(a1,a2,ai-1,e,ai,ai+1,an),单链表上的实现示意图,基本步骤:找到第i-1个元素所在结点;,申请一个新结点s并填入e值;,修改s的指针域指向p的下一结点;,思考:第步是否可交换?,DCS of SUSE,链表的优缺点优点:插入、删除时无须移动元素,只需修改指针根据需要申请存储空
10、间,且不要求连续的存储空间缺点:对表中的元素只能进行顺序访问用指针指示元素之间的逻辑关系(直接前驱、后继),存储空间利用率低,DCS of SUSE,双向链表,双向链表上的插入操作(将元素e插入到链表的第i个结点前),基本步骤:(1)定位指针p指向结点ai-1;,(2)建立新结点s并赋e;,(3)修改s的next指针域指向p下一结点:s-next=p-next;,(5)修改p的next指针域指向s结点:p-next=s;,(6)修改s下一结点的prior指针域指向s:s-next-prior=s;,(4)修改s的prior指针域指向p结点:s-prior=p;,问题:修改指针的步骤是否可随意?
11、不带头结点?,DCS of SUSE,双向链表上的删除操作(删除第i个结点),基本步骤:(1)定位指针p指向结点ai;,(2)修改p的前一结点的next指针域指向p下一结点:p-prior-next=p-next;,(3)修改p的下一结点的prior指针域指向p前一结点:p-next-prior=p-prior;,(4)释放结点p。,DCS of SUSE,第3章 栈和队列,一、栈的概念 栈(stack)是插入和删除操作限定在表尾进行的线性表。栈的逻辑表示为:S=(a1,a2,an)表尾元素an称为栈顶(top)表头元素a1称为栈底(bottom)不含元素的空表称为空栈栈的运算特性是后进先出(
12、Last In First Out-LIFO)或先进后出(First In Last Out-FILO),DCS of SUSE,二、队列的概念队列(Queue)是限定仅在一端插入,另一端删除的线性表。允许插入的一端叫队尾(rear),允许删除的一端叫队头(front),不含元素的空表称为空队列队列的运算特性是先进先出(First In First Out-FIFO),DCS of SUSE,插入、删除操作,栈:Push(&S,x)Pop(&S,&e)GetTop(S,&e)StackEmpty(S)队列:Que ueEmpty(Q)EnQueue(&Q,e)DeQueue(&Q,&e)Get
13、Head(Q,&e),DCS of SUSE,第4章 串,要点:基本概念和朴素模式匹配算法,模式匹配算法朴素的串匹配算法int Index(sstring S,sstring T,int pos)/返回子串T在主串S中从第pos个字符开始的位置/要求T非空,1pos Strlength(S)i=pos;j=1;while(i Strlength(T)return(iStrlength(T);return 0;/Index,算法时间复杂度?,O(n*m),其中n、m分别为主串和子串长度,DCS of SUSE,第5章 数组和广义表,要点:数组基本概念和特殊矩阵的压缩存贮,LOC(aij)=LOC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 四川 理工
链接地址:https://www.31ppt.com/p-6578889.html