




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构(datastructure)数据元素和数据元素关系的集合Data_Structure=D,R,数据的逻辑结构抽象反映数据元素的逻辑关系,从逻辑关系上描述数据,与数据的存储无关从具体问题抽象出来的数据模型;与数据元素本身的形式、内容无关;与数据元素的相对位置无关。,数据结构(datastructure)数据元素和数据元素关系的集合Data_Structure=D,R,数据的逻辑结构抽象反映数据元素的逻辑关系,数据的存储结构(物理结构)数据的逻辑结构在计算机存储器中的实现,时间复杂度:同一问题可用不同算法解决,各种算法中,语句执行次数越多,则该算法耗费的时间越长。一个算法中的语句执行次数称为语句频度或时间频度,记为T(n)。T(n)=语句执行次数该语句执行时间语句执行次数该方法可独立于机器的软件、硬件系统来分析算法在效率方面的优劣,11,2n,n2,时间耗费T(n)=4+6n+2n2,当n充分大时,T(n)与n2在数量级上相同,记T(n)=O(n2),2n+1,n+1,n*(n+1),执行次数,时间复杂度:算法耗用时间相对问题规模n的增长率,一般指基本操作重复执行的次数的阶数大O表示法:T(n)=O(f(n),加法规则与乘法规则,1、O(f(n)+O(g(n)=maxO(f(n),O(g(n)2、O(f(cn)=O(f(n),c是正整数3、O(f(n)*O(g(n)=O(f(n)*g(n),T1(n)=O(1),T2(n)=O(n),T3(n)=O(n2),T(n)=T1(n)+T2(n)+T3(n)=O(max(1,2n,n2)=O(n2),频度最大语句重复执行次数的阶数,例:nn矩阵相乘for(i=1;i=n;i+)for(j=1;j=n;j+)cij=0;for(k=1;k=n;k+)cij=cij+aik*bkj;,时间复杂度:基本操作重复执行的次数的阶数(算法耗用时间的增长率),(渐近)空间复杂度:S(n)=O(f(n),辅助存储空间增长率或者说是算法所需存储空间的量度,常用时间复杂度:O(1)-常量型O(n)、O(n2)、O(n3)-多项式型O(log2n)、O(nlog2n)-对数型O(2n)、O(en)-指数型,线性结构特点:在数据元素的非空有限集中存在唯一的一个被称作“第一个”的数据元素存在唯一的一个被称作“最后一个”的数据元素除第一个外,集合中的每个数据元素均只有一个前驱除最后一个外,集合中的每个数据元素均只有一个后继,2.1线性表的逻辑结构定义:一个线性表是n个数据元素的有限序列,例英文字母表(A,B,C,.Z)是一个线性表,特征:有限、序列、同构元素个数n表长度,n=0空表1=0)个结点的有限集T,其中:有且仅有一个特定的结点,称为树的根(root)当n1时,其余结点可分为m(m0)个互不相交的有限集T1,T2,Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)特点:非空树中存在唯一一个称为根结点非空树中各子树是互不相交的集合,树的定义,根,子树,结点(node)表示树中的元素,包括数据项及若干指向其子树的分支结点的度(degree)结点拥有的子树数叶子(leaf)度为0的结点孩子(child)结点子树的根称为该结点的孩子双亲(parents)孩子结点的上层结点叫该结点的兄弟(sibling)同一双亲的孩子树的度一棵树中最大的结点度数结点的层次(level)从根结点算起,根为第一层,它的孩子为第二层深度(depth)树中结点的最大层次数森林(forest)m(m0)棵互不相交的树的集合,树的基本术语,结点A的度:结点B的度:结点M的度:,叶子:,结点A的孩子:结点B的孩子:,结点I的双亲:结点L的双亲:,结点B,C,D为结点K,L为,树的度:,结点A的层次:结点M的层次:,树的深度:,结点F,G为结点A是结点F,G的,3,2,0,B,C,D,E,F,3,1,4,4,K,L,F,G,M,I,J,D,E,兄弟,兄弟,堂兄弟,祖先,树的基本术语,定义:二叉树是n(n0)个结点的有限集,它或为空树(n=0),或由一个根结点和两棵分别称为左子树和右子树的互不相交的二叉树构成特点每个结点至多有二棵子树(即不存在度大于2的结点)二叉树的子树有左、右之分,且其次序不能任意颠倒基本形态,二叉树的定义,二叉树的性质,性质1:,在二叉树的第i层上至多有2i-1个结点(i1),用归纳法证明:归纳基:归纳假设:归纳证明:,i=1层时,只有一个根结点:2i-1=20=1;,假设对所有的j,1ji,命题成立,即第j层上至多有2j-1个结点,则第i-1层上至多有2i-1个结点;,由于二叉树上每个结点至多有两棵子树,则第i层的结点数=2i-22=2i-1。,证明:由性质1,可得深度为k的二叉树最大结点数是,等比数列求和:,二叉树的性质,性质2:,深度为k的二叉树上至多含2k-1个结点(k1),性质3:对任何一棵二叉树T,如果其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1,证明:设n1为二叉树T中度为1的结点数因为:二叉树中所有结点的度均小于或等于2所以:其结点总数n=n0+n1+n2又二叉树中,除根结点外,其余结点都只有一个分支进入设B为分支总数,则n=B+1又:分支由度为1和度为2的结点射出,B=n1+2*n2于是,n=B+1=n1+2*n2+1=n0+n1+n2n0=n2+1,二叉树的性质,满二叉树定义:,特点:每一层上的结点数都是最大结点数,除最下层的叶子结点外,每个结点的度都为2。,特殊形式的二叉树,完全二叉树定义:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称为,特点度小于2的结点只可能在层次最大的两层上出现,如果某个结点没有左孩子,那么它一定没有右孩子,该结点为叶子结点除最后一层外,每层都充满了结点,最下面一层结点都集中在该层的最左边,特殊形式的二叉树,性质4:,证明:设深度为k,根据二叉树性质2知:2k-1-1n2k-1,2k-1n2k,于是有:,完全二叉树性质,具有n个结点的完全二叉树的深度为log2n+1,性质5:,完全二叉树性质,如果对一棵有n个结点的完全二叉树的结点按层序编号,则对任一结点i(1in),有:,(1)如果i=1,则结点i是二叉树的根,无双亲;如果i1,则其双亲是i/2(2)如果2in,则结点i无左孩子;如果2in,则其左孩子是2i(3)如果2i+1n,则结点i无右孩子;如果2i+1n,则其右孩子是2i+1,性质5:,完全二叉树性质,如果对一棵有n个结点的完全二叉树的结点按层序编号,则对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 节能减排:环保型厂房股权转让与能源优化协议
- 物流仓储租赁及管理服务协议
- 住宅小区场地安全维护合同
- 餐饮行业总经理全面授权与管理合同
- 汽车展场地推广与汽车厂商合作协议
- 人工智能背景下的智慧规划建设实践与思考
- 城市CIM平台建设赋能数字发展
- 美术素描说课课件
- 美术电影课件
- 美术班主题班会课件
- 组织行为准则
- 2024版消防设计质量问题案例分析手册建筑机电专业
- 《性病防治知识讲座》课件
- 第10讲-动能与动能定理-高一物理同步讲义-原卷版
- 基本公共卫生服务项目培训
- 2024年广东血液净化护理知识竞赛考试题库(含答案)
- 2020-2024年五年高考地理真题分类汇编专题02 宇宙中的地球-(解析版)
- 安全、质量、环境管理制度
- 2024版《中医基础理论经络》课件完整版
- OCEAN脚本简明教程
- GB/T 28267.3-2024钢丝绳芯输送带第3部分:井下用输送带的特殊安全要求
评论
0/150
提交评论