基本数据结构与算法精选PPT.ppt
《基本数据结构与算法精选PPT.ppt》由会员分享,可在线阅读,更多相关《基本数据结构与算法精选PPT.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基本数据结构与算法第1页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法本章主要内容本章主要内容vv算法算法算法算法 vv数据结构数据结构数据结构数据结构 数据结构研究的主要内容数据结构研究的主要内容数据结构研究的主要内容数据结构研究的主要内容 基本概念和术语基本概念和术语基本概念和术语基本概念和术语 数据结构类型数据结构类型数据结构类型数据结构类型 线性结构和非线性结构线性结构和非线性结构线性结构和非线性结构线性结构和非线性结构 顺序存储与链式存储顺序存储与链式存储顺序存储与链式存储顺序存储与链式存储 线性表线性表线性表线性表 栈和队列栈和队列栈和队列栈
2、和队列 线性链表线性链表线性链表线性链表 树与二叉树树与二叉树树与二叉树树与二叉树 查找和排序查找和排序查找和排序查找和排序 图图图图 第2页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法3.1 3.1 算法算法v算法的基本概念算法的基本概念 算法:解题方案的准确而完整的描述。算法:解题方案的准确而完整的描述。算法的基本特征:算法的基本特征:是一组严谨地定义运算顺序的规则,每是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。终止。算法不等于程序,程序不可能优于算
3、法。算法不等于程序,程序不可能优于算法。基本特性基本特性 可行性:根据实际问题设计的算法,执行得到满意结果可行性:根据实际问题设计的算法,执行得到满意结果 确定性:每一步骤必须有明确定义,不允许有多义性。确定性:每一步骤必须有明确定义,不允许有多义性。有穷性:算法必须能在有限的时间内做完。有穷性:算法必须能在有限的时间内做完。输入和输出:拥有足够的情报,方可执行。输入和输出:拥有足够的情报,方可执行。第3页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法3.1 3.1 算法算法v算法的基本要素算法的基本要素 1.1.对数据对象的运算和操作对数据对象的运算和
4、操作 算术运算:、算术运算:、等等 逻辑运算:逻辑运算:、=、=1k1,则则该该结结点点的的父父结结点点的的编编号号为为INT(k/2)INT(k/2)。若若2kn2kn,则结点,则结点k k的左子结点编号为的左子结点编号为2k2k;否则该结点无左子结点(显然也没有右子结点)。;否则该结点无左子结点(显然也没有右子结点)。若若2k+1n2k+1n,则结点,则结点k k的右子结点编号为的右子结点编号为2k+12k+1;否则该结点无右子结点。;否则该结点无右子结点。二叉树的基本性质二叉树的基本性质42 3 16 78910 11 12 13 14 15 53.3.6 树与二叉树树与二叉树例如结点例
5、如结点6 6,其父结点为,其父结点为3 3,左子结,左子结点为点为1212,左子结点为,左子结点为1313第52页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法3.3.6 树与二叉树树与二叉树vv二叉树的存储结构二叉树的存储结构二叉树的存储结构二叉树的存储结构 顺序存储结构顺序存储结构 链式存储结构链式存储结构 vv顺序存储结构顺序存储结构顺序存储结构顺序存储结构 用一组用一组连续的存储单元存放连续的存储单元存放二叉树的数据元素。结点在数组二叉树的数据元素。结点在数组中的相对位置蕴含着结点之间的关系。中的相对位置蕴含着结点之间的关系。用数组存储时,若父结
6、点在数组中用数组存储时,若父结点在数组中i i下标处,其左孩子在下标处,其左孩子在2*i2*i处,处,右孩子在右孩子在2*i+12*i+1处。处。顺序存储二叉树顺序存储二叉树必须按完全二叉树的形式存储必须按完全二叉树的形式存储,将造成存储的,将造成存储的浪费。浪费。第53页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法二叉树的顺序存储结构二叉树的顺序存储结构二叉树的顺序存储结构二叉树的顺序存储结构 T1611 A B c F E D 1 2 4 8 910 5 6 3 7121314152h-1=24-1=150000FE00 0DC0BA 151413
7、121110987654321003.3.6 树与二叉树树与二叉树第54页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法3.3.6 树与二叉树树与二叉树vv二叉树链式存储结构二叉树链式存储结构二叉树链式存储结构二叉树链式存储结构 在顺序存储结构中,对于非完全二叉树,需要将空缺的位置用在顺序存储结构中,对于非完全二叉树,需要将空缺的位置用特定的符号填补,若空缺结点较多,势必造成空间利用率的下降。在特定的符号填补,若空缺结点较多,势必造成空间利用率的下降。在这种情况下,就应该考虑使用链式存储结构。这种情况下,就应该考虑使用链式存储结构。常见的二叉树结点结构如
8、常见的二叉树结点结构如下所示:下所示:LchilditemRchildparentAB第55页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法3.3.6 3.3.6 树与二叉树树与二叉树树与二叉树树与二叉树G H D E F B C A G H D E F B C A BT 二叉树的链接存储结构二叉树的链接存储结构二叉树的链接存储结构二叉树的链接存储结构 第56页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法二叉树的遍历二叉树的遍历 遍遍历历是是指指按按某某条条搜搜索索路路线线寻寻访访树树中中每每个个结结点点,且且每
9、每个个结结点点只只被访问一次。被访问一次。按先左后右的原则,一般使用三种遍历:按先左后右的原则,一般使用三种遍历:按先左后右的原则,一般使用三种遍历:按先左后右的原则,一般使用三种遍历:先序遍历先序遍历(D L R):(D L R):访问访问根结点根结点,按先序遍历,按先序遍历左子树左子树,按先序遍历,按先序遍历右子树右子树。中序遍历中序遍历(L D R):(L D R):按中序遍历按中序遍历左子树左子树,访问,访问根结点根结点,按中序遍历,按中序遍历右子树右子树。后序遍历后序遍历(L R D):(L R D):按后序遍历按后序遍历左子树左子树,按后序遍历,按后序遍历右子树右子树,访问,访问根
10、结点根结点。二叉树为空时,执行空操作,即空二叉树已遍历完。二叉树为空时,执行空操作,即空二叉树已遍历完。3.3.6 树与二叉树树与二叉树第57页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法遍历算法遍历算法遍历算法遍历算法先序遍历:先序遍历:D L R D L R 中序遍历:中序遍历:L D R L D R 后序遍历:后序遍历:L R DL R DADBCT1 T2 T3 D L RAD L RD L RBDCD L R以先序遍历以先序遍历D L RD L R为为例演示遍历过程例演示遍历过程 ABDCBDAC DBCA3.3.6 树与二叉树树与二叉树第5
11、8页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法v查找:查找:在一个给定的数据结构中,在一个给定的数据结构中,根据给定的条件找到满足根据给定的条件找到满足条件的结点。条件的结点。不同的数据结构采用不同的查找方法。查找的不同的数据结构采用不同的查找方法。查找的效率直接影响数据处理的效率。效率直接影响数据处理的效率。v平均查找长度:平均查找长度:查找过程中比较的次数查找过程中比较的次数 v查找的结果查找的结果 查找成功:查找成功:找到满足条件的结点找到满足条件的结点 查找失败:查找失败:找不到满足条件的结点。找不到满足条件的结点。3.3.7 查找和排序查找
12、和排序第59页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法v顺序查找(线性查找)顺序查找(线性查找)对给定的一对给定的一关键字关键字K K,从线性表的一端开始,逐个进行,从线性表的一端开始,逐个进行记录的关键字和记录的关键字和K K的比较,直到找到关键字等于的比较,直到找到关键字等于K K的记录或到的记录或到达表的另一端。达表的另一端。可以采用从前向后查,也可采用从后向前查的方法。可以采用从前向后查,也可采用从后向前查的方法。在平均情况下,大约要与表中一半以上元素进行比较,效率在平均情况下,大约要与表中一半以上元素进行比较,效率较低。较低。平均查找长度
13、平均查找长度=(n+1)/2=(n+1)/2。时间复杂度时间复杂度O(n)O(n)在下面两种情况下只能采取顺序查找:在下面两种情况下只能采取顺序查找:线性表为无序表(元素排列是无序的);线性表为无序表(元素排列是无序的);即使是有序线性表,但采用的是链式存储结构。即使是有序线性表,但采用的是链式存储结构。3.3.7 查找和排序查找和排序第60页,此课件共73页哦二级二级ACCESSACCESS基本数据结构与算法基本数据结构与算法折半查找(二分法查找)折半查找(二分法查找)v思想:思想:先确定待查找记录所在的范围,然后逐步缩小范围,直到先确定待查找记录所在的范围,然后逐步缩小范围,直到找到或确认
14、找不到该记录为止。找到或确认找不到该记录为止。v前提:前提:必须在必须在具有顺序存储结构的具有顺序存储结构的有序表中进行有序表中进行。v分三种情况:分三种情况:若中间项的值等于若中间项的值等于x,x,则说明已查到。则说明已查到。若若x x小于中间项的值,则在线性表的前半部分查找;小于中间项的值,则在线性表的前半部分查找;若若x x大于中间项的值,则在线性表的后半部分查找。大于中间项的值,则在线性表的后半部分查找。v特点:特点:比顺序查找方法效率高。比顺序查找方法效率高。最坏的情况下,需要比较最坏的情况下,需要比较 loglog2 2n n次。次。3.3.7 查找和排序查找和排序第61页,此课件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 数据结构 算法 精选 PPT
限制150内