数据结构与算法.ppt
《数据结构与算法.ppt》由会员分享,可在线阅读,更多相关《数据结构与算法.ppt(59页珍藏版)》请在优知文库上搜索。
1、第一章第一章 数据结构与算法数据结构与算法 1.1算法算法算法的基本概念算法的基本概念 所谓所谓算法算法是指解题方案的是指解题方案的准确而完整的描述。准确而完整的描述。一一.算法的基本特征算法的基本特征(可行性可行性:执行后能得到满意结果。执行后能得到满意结果。(确定性确定性:算法中每个步骤必须明确定义,算法中每个步骤必须明确定义,不允许多义性。不允许多义性。(有穷性有穷性:算法必须在有限时间内做完。算法必须在有限时间内做完。(拥有足够的情报拥有足够的情报:确保算法有效还取决确保算法有效还取决于情报是否足够。于情报是否足够。二二.算法的基本要素算法的基本要素(算法对数据的运算和操作算法对数据的
2、运算和操作:算术运算、:算术运算、逻辑运算、关系运算、数据传输。逻辑运算、关系运算、数据传输。(算法的控制结构算法的控制结构:顺序、选择、循环顺序、选择、循环四四.算法复杂度算法复杂度(算法的时间复杂度算法的时间复杂度执行算法所需要的执行算法所需要的计算工作量计算工作量(算法的空间复杂度算法的空间复杂度执行算法执行算法所需要的内存空间所需要的内存空间1.2数据结构的基本概念数据结构的基本概念数据结构作为计算机的一门学科,主要研究数据结构作为计算机的一门学科,主要研究以下三个方面的问题以下三个方面的问题: P71.数据集合中各数据元素之间所固有的逻辑数据集合中各数据元素之间所固有的逻辑关系,即关
3、系,即数据的逻辑结构数据的逻辑结构。2.在对数据进行处理时,各数据元素在计算在对数据进行处理时,各数据元素在计算机中在存储关系,即机中在存储关系,即数据的存储结构数据的存储结构。3.对各种数据结构进行的对各种数据结构进行的运算运算。一一.数据的逻辑结构数据的逻辑结构数据结构是指相互有关联的数据元素的集合。数据结构是指相互有关联的数据元素的集合。更通俗地说,数据结构是指带有结构的数据更通俗地说,数据结构是指带有结构的数据元素的集合。元素的集合。P11一个数据结构应包含以下两个方面的信息:一个数据结构应包含以下两个方面的信息:元素的信息元素的信息数据元素之间的前后件关系。数据元素之间的前后件关系。
4、所谓所谓数据的逻辑结构数据的逻辑结构是指反映数据元素之间是指反映数据元素之间逻辑关系逻辑关系的数据结构。的数据结构。前后件:前驱、后件。前后件:前驱、后件。二二.数据的存储结构数据的存储结构 数据的逻辑结构是在计算机存储空数据的逻辑结构是在计算机存储空间的存放形式称为间的存放形式称为数据的存储结构。数据的存储结构。三三.数据结构的图形表示数据结构的图形表示ABCDEF其中其中D称为是称为是E的的前件前件,C的的后件后件.其他相同其他相同.父亲父亲儿子儿子女儿女儿其中其中“父亲父亲”是是“儿子儿子”和和“女儿女儿”的的前件前件,“儿子儿子”和和“女儿女儿”是是“父亲父亲”的的后件后件。四四.线性
5、结构和非线性结构线性结构和非线性结构空数据结构空数据结构:一个元素都没有。一个元素都没有。数据结构一般分为数据结构一般分为:线性结构线性结构和和非线性结构非线性结构。非空线性结构满足非空线性结构满足:有且只有一个有且只有一个根节点根节点;每;每个节点最多有一个个节点最多有一个前件节点前件节点、也最多有一个、也最多有一个后后件节点件节点。如果一个数据结构不是线性结构,则称之为如果一个数据结构不是线性结构,则称之为非线性结构非线性结构。1.3线性表与顺序存储结构线性表与顺序存储结构 线性表线性表是最简单、最常用的一种数据结构。是最简单、最常用的一种数据结构。 线性表是线性表是n(n=0)个元素构成
6、的有限序列个元素构成的有限序列(a1,a2,an)。(1)有且只有一个根结点有且只有一个根结点a1,它无前件;它无前件;(2)有且只有一个终端结点有且只有一个终端结点an,它无后件;它无后件;(3)其他所有结点有且只有一个前件,也有且只其他所有结点有且只有一个前件,也有且只有一个后件。有一个后件。线性表中结点的个数称为线性表中结点的个数称为线性表的长度线性表的长度,当当n=0时,称为时,称为空表空表.一一.线性表的顺序存储结构线性表的顺序存储结构线性表在计算机中采用线性表在计算机中采用顺序存储顺序存储。线性表的顺序存储指的是用线性表的顺序存储指的是用的数据元素。的数据元素。线性表的顺序存储结构
7、具有以下两个特点线性表的顺序存储结构具有以下两个特点:(线性表中所有元素所占的存储空间是线性表中所有元素所占的存储空间是连续连续的。的。(线性表中各数据元素在存储空间中是按线性表中各数据元素在存储空间中是按逻逻辑顺序辑顺序依次存放的。依次存放的。二二.线性表的插入运算线性表的插入运算线性表为线性表为:(a1,a2 ai-1,ai,ai+1an)在第在第i个位置之前上插入新的结点个位置之前上插入新的结点x:线性表变为线性表变为:(a1,a2 ai-1,x,ai,ai+1an )长度变为长度变为n+1。在在最好的情况下最好的情况下,不需要不需要移动表中的元素。移动表中的元素。在在最坏的情况下最坏的
8、情况下,需要移动表中的需要移动表中的所有所有元素。元素。在在平均情况下平均情况下,需要移动需要移动表中一半表中一半的元素。的元素。三三.线性表的删除运算线性表的删除运算线性表为线性表为:(a1,a2 ai-1,ai,ai+1an)在第在第i个位置上删除新的结点个位置上删除新的结点ai:线性表变为线性表变为:(a1,a2 ai-1,ai+1an)长度变为长度变为n-1。在在最好的情况下最好的情况下,不需要不需要移动表中的元素。移动表中的元素。在在最坏的情况下最坏的情况下,需要移动表中的需要移动表中的所有所有元素。元素。在在平均情况下平均情况下,需要移动需要移动表中一半表中一半的元素。的元素。1.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 算法