计算机软件基础基本数据结构修改课件.ppt





《计算机软件基础基本数据结构修改课件.ppt》由会员分享,可在线阅读,更多相关《计算机软件基础基本数据结构修改课件.ppt(171页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机算机软件基件基础基本数据基本数据结构修改构修改第1页,此课件共171页哦2.1 数据结构的基本概念数据结构的基本概念2.1.1 两个例子两个例子2.1.2 什么是数据结构什么是数据结构2.1.3 数据结构的图形表示数据结构的图形表示2.1.4 线性数据结构与非线性数据结构线性数据结构与非线性数据结构2第2页,此课件共171页哦数据结构三个方面的问题:数据结构三个方面的问题:(1)(1)数据的逻辑结构数据的逻辑结构(2)(2)数据的存储结构数据的存储结构(3)(3)对各种数据结构进行的运算对各种数据结构进行的运算目的:提高数据处理的效率目的:提高数据处理的效率提高数据处理的速度提高数据处理
2、的速度尽量节省计算机存储空间尽量节省计算机存储空间 3第3页,此课件共171页哦2.1.1 两个例子两个例子 计计算算机机已已广广泛泛应应用用于于数数据据处处理理。实实际际问问题中的各数据元素之间总是相互关联的。题中的各数据元素之间总是相互关联的。所所谓谓数数据据处处理理,是是指指对对数数据据集集合合中中的的各各元元素素以以各各种种方方式式进进行行运运算算,包包括括插插入入、删删除除、查查找找、更更改改等等运运算算,以以包包括括对对数数据据元元素素进进行行分析。分析。4第4页,此课件共171页哦 重要的是知道数据集合中各数据元素之间存重要的是知道数据集合中各数据元素之间存在什么关系,为了提高处
3、理效率,应如何组在什么关系,为了提高处理效率,应如何组织它们,即如何表示所需要处理的数据元素。织它们,即如何表示所需要处理的数据元素。5第5页,此课件共171页哦例例2.1 2.1 无序表的顺序查找无序表的顺序查找35 16 78 85 43 29 33 21 54 4635 16 78 85 43 29 33 21 54 46 有序表的对分查找有序表的对分查找16 21 29 33 35 43 46 54 78 8516 21 29 33 35 43 46 54 78 85数数据据元元素素在在表表中中的的排排列列顺顺序序对对查查找找效效率率是是有有很很大影响大影响6第6页,此课件共171页哦
4、无序表的顺序查找无序表的顺序查找从第一个元素开始,逐个将表中的元素与被查数从第一个元素开始,逐个将表中的元素与被查数进行比较,直到表中的某个元素与被查数相等进行比较,直到表中的某个元素与被查数相等(即查找成功)或者表中所有元素都与被查数(即查找成功)或者表中所有元素都与被查数进行了比较且都不相等(即查找失败)为止。进行了比较且都不相等(即查找失败)为止。最少次数最少次数:被查元素刚好是表中第一个元素时。:被查元素刚好是表中第一个元素时。只需比较一次。只需比较一次。最多次数最多次数:被查元素刚好是表中最后一个元素时:被查元素刚好是表中最后一个元素时或表中不存在被查元素。在这种情况下顺序查或表中不
5、存在被查元素。在这种情况下顺序查找是很费时间的。找是很费时间的。7第7页,此课件共171页哦有序表中的二分查找有序表中的二分查找 将被查数与表中的中间这个元素进行比较:将被查数与表中的中间这个元素进行比较:若相等,则表示查找成功,查找过程结束;若若相等,则表示查找成功,查找过程结束;若被查数大于表中的中间这个元素,则表示如果被查数大于表中的中间这个元素,则表示如果被查数在表中,只能在表的后半部,此时可以被查数在表中,只能在表的后半部,此时可以舍弃表中的前半部保留后半部;若被查数小于舍弃表中的前半部保留后半部;若被查数小于表中的中间元素,则表示如果被查数在表中,表中的中间元素,则表示如果被查数在
6、表中,只能在表的前半部此时可以舍弃后半部而保留只能在表的前半部此时可以舍弃后半部而保留前半部。然后对剩下部分再按照上述方法进行前半部。然后对剩下部分再按照上述方法进行查找,这个过程一直做到在某次的比较中相等查找,这个过程一直做到在某次的比较中相等(查找成功)或剩下的部分已空(查找失败)(查找成功)或剩下的部分已空(查找失败)为止。为止。8第8页,此课件共171页哦 在有序表的对分查找中,不论查找的是什在有序表的对分查找中,不论查找的是什么数,也不论要查找的数在表中有没有,都不么数,也不论要查找的数在表中有没有,都不需要与表中所有元素进行比较,并且只需要与需要与表中所有元素进行比较,并且只需要与
7、表中很少的元素进行比较。但需要指出的是,表中很少的元素进行比较。但需要指出的是,对分查找只适用于有序表,而对于无序表是无对分查找只适用于有序表,而对于无序表是无法进行对分查找的。法进行对分查找的。9第9页,此课件共171页哦例例2.2 2.2 学生情况登记表以学号为顺序排列学生情况登记表以学号为顺序排列10第10页,此课件共171页哦11第11页,此课件共171页哦12第12页,此课件共171页哦结论:结论:在对数据进行处理时,在对数据进行处理时,可以根据所做的运算不同,可以根据所做的运算不同,将数据组织成不同的形式,将数据组织成不同的形式,以便于做该种运算,以便于做该种运算,从而提高数据处理
8、的效率。从而提高数据处理的效率。13第13页,此课件共171页哦2.1.2 什么是数据结构什么是数据结构 数据结构数据结构(data structure)(data structure)是指相互有关联的是指相互有关联的数据元素集合。数据元素集合。数据元素(数据元素(data elementdata element)是数据集合中的一是数据集合中的一个个体,是数据的基本单位。个个体,是数据的基本单位。14第14页,此课件共171页哦例例1 1:描述一年四季的季节名描述一年四季的季节名 春,夏,秋,冬春,夏,秋,冬 可以作为季节的数据元素;可以作为季节的数据元素;例例2 2:数值集合数值集合N=1,
9、2,3,4,5N=1,2,3,4,5中整数中整数1 1至至5 5均为数均为数据元素。据元素。例例3 3:表示家庭成员的各成员名表示家庭成员的各成员名 父亲,儿子,女儿父亲,儿子,女儿 可以作为家庭成员的数据元素。可以作为家庭成员的数据元素。现实世界中客观存在的一切个体都可以是数据元素。现实世界中客观存在的一切个体都可以是数据元素。15第15页,此课件共171页哦 前后件关系前后件关系是数据元素之间的一个基本关系,是数据元素之间的一个基本关系,但前后件关系所表示的实际意义是随具体对但前后件关系所表示的实际意义是随具体对象的不同而不同。象的不同而不同。一般来说,数据元素之间的任何关系都可以一般来说
10、,数据元素之间的任何关系都可以用前后件关系来描述。用前后件关系来描述。例如:例如:“春春”是是“夏夏”的的前件前件,“夏夏”是是“春春”的的后件后件。“父亲父亲”是是“儿子儿子”,“女儿女儿”的的前件前件,“儿子儿子”,“女儿女儿”是是“父亲父亲”的的后续后续。16第16页,此课件共171页哦1.数据的逻辑结构数据的逻辑结构 是指反映数据元素之间逻辑关系的数据结构。是指反映数据元素之间逻辑关系的数据结构。研究数据元素及其关系的数学特性;研究数据元素及其关系的数学特性;(1 1)表示数据元素的信息;)表示数据元素的信息;(2 2)表示各数据元素之间的前后件关系。)表示各数据元素之间的前后件关系。
11、17第17页,此课件共171页哦 数据的逻辑结构有两个要素:数据的逻辑结构有两个要素:数据元素的集合数据元素的集合D D;反映反映D D中各数据元素之间的前后件关系中各数据元素之间的前后件关系R R。数据结构可以表示成数据结构可以表示成 S S(D D,R R)其中其中B B表示数据结构。表示数据结构。18第18页,此课件共171页哦为了反映为了反映D D中各数据元素之间的前后件关系,一中各数据元素之间的前后件关系,一般用二元组来表示。般用二元组来表示。设设a a与与b b是是D D中的两个数据,则二元组中的两个数据,则二元组 (a a,b b)表示表示a a是是b b的前件,的前件,b b是
12、是a a的后件。的后件。例如例如 S S(D D,R R)D D 春,夏,秋,冬春,夏,秋,冬 R R(春,夏春,夏),(夏,秋夏,秋),(秋,冬秋,冬)19第19页,此课件共171页哦家庭成员数据结构家庭成员数据结构 S S(D D,R R)D D 父亲,儿子,女儿父亲,儿子,女儿 R R(父亲,儿子),父亲,儿子),(父亲,女儿)父亲,女儿)n n维向量维向量 X X(x x1 1,x x2 2,x xn n)也是一种数据结构。即也是一种数据结构。即 S S(D D,R R)D Dxx1 1,x x2 2,x xn n R R(x(x1 1,x x2 2),(x(x2 2,x x3 3),
13、(x(xn n1 1,x xn n)20第20页,此课件共171页哦mnmn的矩阵是一个数据结构。即的矩阵是一个数据结构。即 S S(D D,R R)D DAA1 1,A A2 2,A Am m R R(A(A1 1,A A2 2),(A(A2 2,A A3 3),(A(Ai i,A Ai i1 1),(A(Am m1 1,A Am m)其中其中A Ai i=(a ai1i1,a ai2i2,a ainin),),i i1 1,2 2,m m A Ai i(D Di i,R Ri i)D Di iaai1i1,a ai2i2,a ainin R Ri i(a(ai1i1,a ai2i2),(a
14、(ai2i2,a ai3i3),(a(aijij,a ai i,j j1 1),(a(ai i,n n1 1,a ainin)21第21页,此课件共171页哦2.数据的存储结构(数据的物理结构)数据的存储结构(数据的物理结构)数据的逻辑结构在计算机存储空间中的存放形数据的逻辑结构在计算机存储空间中的存放形式。也就是具体实现,通常用高级语言中各种式。也就是具体实现,通常用高级语言中各种数据类型来描述这种实现。数据类型来描述这种实现。常用的存储结构有:常用的存储结构有:顺序、链接、索引等存储结构。顺序、链接、索引等存储结构。采用不同的存储结构,其数据处理的效率是不采用不同的存储结构,其数据处理的效
15、率是不同的。同的。22第22页,此课件共171页哦2.1.3 数据结构的图形表示数据结构的图形表示数据集合数据集合D D中的每一个数据元素用中间标有元素中的每一个数据元素用中间标有元素值的方框表示(数据结点,结点)值的方框表示(数据结点,结点)用一条有向线段从前件结点指向后件结点。用一条有向线段从前件结点指向后件结点。23第23页,此课件共171页哦 一年四季数据结构的图形表示一年四季数据结构的图形表示24第24页,此课件共171页哦家庭成员间辈份关系数据结的图形表示家庭成员间辈份关系数据结的图形表示25第25页,此课件共171页哦S=(D1,R1)D1=a,b,c,d,eR1=(a,b),(
16、b,c),(c,d),(d,e),(e,a),(a,c),(a,d),(b,e),(c,e)daebcDS1是个无向图是个无向图26第26页,此课件共171页哦S=(D2,R2)D2=a,b,c,d,eR2=a,b,b,c,c,d,d,e,e,a,a,c,a,d,b,e,c,edaebcDS2是一个有向图是一个有向图27第27页,此课件共171页哦S=(D,R)D=a1,a2,a3,akR=|这说明这个关系这说明这个关系R任何两递增下标的数据元素都任何两递增下标的数据元素都有相邻关系,如图所示有相邻关系,如图所示a1a2a3ak数组的数据结构数组的数据结构28第28页,此课件共171页哦 用图
17、形表示数据结构用图形表示数据结构S S(D D,R R)D Dddi i|1i7|1i7dd1 1,d d2 2,d d3 3,d d4 4,d d5 5,d d6 6,d d7 7 R R(d(d1 1,d d3 3),(d(d1 1,d d7 7),(d(d2 2,d d4 4),(d(d3 3,d d6 6),(d(d4 4,d d5 5)29第29页,此课件共171页哦数据结构的相关概念数据结构的相关概念在数据结构中,没有前件的结点称为根结点;没在数据结构中,没有前件的结点称为根结点;没有后件的结点成为终端结点(也成为叶子结点)有后件的结点成为终端结点(也成为叶子结点);除了根结点与终
18、端结点外的其他结点一般称;除了根结点与终端结点外的其他结点一般称为内部结点。为内部结点。数据结构中的相关运算:数据结构中的相关运算:插入运算、删除运算。这两个运算是对数据结构插入运算、删除运算。这两个运算是对数据结构的两种基本运算。除此之外,对数据结构的运的两种基本运算。除此之外,对数据结构的运算还有查找、分类、合并、分解、复制和修改算还有查找、分类、合并、分解、复制和修改等。等。在一个数据结构中元素结点和数据元素之间的关在一个数据结构中元素结点和数据元素之间的关系都可能是动态变化的。系都可能是动态变化的。30第30页,此课件共171页哦2.1.4 线性数据结构与非线性数据结构线性数据结构与非
19、线性数据结构线性表的逻辑结构是线性表的逻辑结构是n n个数据元素的有限序列个数据元素的有限序列(a1,a2,a3,(a1,a2,a3,an),an)其中其中n n表示了线性表的长度(表示了线性表的长度(n=0n=0).n=0.n=0的表的表称为空表。称为空表。线性结构:数据元素呈线性关系。隐含有序。线性结构:数据元素呈线性关系。隐含有序。(1 1)有且只有一个根结点;)有且只有一个根结点;(2 2)每一个结点最多有一个前件,)每一个结点最多有一个前件,也最多有一个后件。也最多有一个后件。线性结构又称线性表。线性结构又称线性表。31第31页,此课件共171页哦特别说明特别说明 在一个线性结构中插
20、入或删除任何一个结在一个线性结构中插入或删除任何一个结点后还应该是线性结构。如果一个数据结构满点后还应该是线性结构。如果一个数据结构满足上述两个条件,但当在此数据结构中插入或足上述两个条件,但当在此数据结构中插入或删除任何一个结点后就不满足这两个条件了,删除任何一个结点后就不满足这两个条件了,则该数据结构不能称为线性结构。则该数据结构不能称为线性结构。32第32页,此课件共171页哦不是线性结构的数据结构特例不是线性结构的数据结构特例33第33页,此课件共171页哦 如果一个数据结构不是线性结构,如果一个数据结构不是线性结构,则称之为则称之为非线性非线性结构结构34第34页,此课件共171页哦
21、2.2 线性表及其顺序存储结构线性表及其顺序存储结构2.2.1 2.2.1 线性表及其运算线性表及其运算2.2.2 2.2.2 栈及其应用栈及其应用2.2.3 2.2.3 队列及其应用队列及其应用35第35页,此课件共171页哦2.2.1 线性表及其运算线性表及其运算1.什么是线性表什么是线性表(Linear List)线性表是最简单最常用的一种数据结构。线性表是最简单最常用的一种数据结构。线性表是由一组数据元素构成。线性表是由一组数据元素构成。例如:例如:n维向量维向量(x1,x2,xn)是一个长度为是一个长度为n的线性表,其中的每一个分量就是一个数据的线性表,其中的每一个分量就是一个数据元
22、素。元素。英英文文小小写写字字母母表表(a(a,b b,c c,z)z)是是一一个个长长度度为为2626的线性表的线性表一一年年中中的的四四个个季季节节(春春,夏夏,秋秋,冬冬)是是一一个个长长度度为为4 4的线性表的线性表矩阵是一个比较复杂的线性表矩阵是一个比较复杂的线性表36第36页,此课件共171页哦学生情况登记表是一个复杂的线性表学生情况登记表是一个复杂的线性表,由若干数据由若干数据项组成的数据元素称为记录项组成的数据元素称为记录(record)(record)由多个记录构成的线性表又称为文件由多个记录构成的线性表又称为文件(file)(file)37第37页,此课件共171页哦 线线
23、性性表表是是由由n(n0)n(n0)个个数数据据元元素素a a1 1,a a2 2,a an n组组成成的的一一个个有有限限序序列列,表表中中的的每每一一个个数数据据元元素素,除除了了第第一一个个外外,有有且且只只有有一一个个前前件件,除除了了最最后后一一个个外外,有有且且只只有有一一个个后后件件。即即线线性性表表或或是是一一个个空空表表,或或可可以表示为以表示为 (a(a1 1,a a2 2,a ai i,a an n)其其中中a ai i(i(i1 1,2 2,n)n)是是属属于于数数据据对对象象的的元元素素,通通常常也也称称其其为为线线性性表表中中的的一一个结点。个结点。线性表的逻辑结构
24、线性表的逻辑结构38第38页,此课件共171页哦 非空线性表结构特征:非空线性表结构特征:(1)(1)有且只有一个根结点有且只有一个根结点a a1 1,它无前件;,它无前件;(2)(2)有且只有一个终端结点有且只有一个终端结点a an n,它无后件;,它无后件;(3)(3)除根结点与终端结点外,其它所有结除根结点与终端结点外,其它所有结点有且只有一个前件,也有且只有一个点有且只有一个前件,也有且只有一个后件。后件。线性表中结点的个数线性表中结点的个数n n称为线性表的长度。称为线性表的长度。当当n n0 0时,称为空表。时,称为空表。39第39页,此课件共171页哦2.线性表的顺序存储结构线性
25、表的顺序存储结构线性表的顺序存储结构基本特点:线性表的顺序存储结构基本特点:(1)(1)线线性性表表中中所所有有元元素素所所占占的的存存储储空空间间是是连连续的;续的;(2)(2)线线性性表表中中各各数数据据元元素素在在存存储储空空间间中中是是按按逻辑顺序依次存放的。逻辑顺序依次存放的。线性表中第线性表中第i i个元素个元素a ai i在计算机存储空间中在计算机存储空间中的存储地址为的存储地址为 ADR(aADR(ai i)ADR(aADR(a1 1)(i(i1)k1)k40第40页,此课件共171页哦长度为长度为n n的线性表的线性表(a(a1 1,a a2 2,a ai i,a an n)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 基础 基本 数据结构 修改 课件

限制150内