欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构线性表顺序表.ppt

    • 资源ID:60175212       资源大小:346KB        全文页数:25页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构线性表顺序表.ppt

    数据结构线性表顺序表 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望2.1 线性表的定义和运算线性表的定义和运算一、线性表的定义:1、定义:线性表线性表 L是由n个元素a1,a2,an组成的有限序列。记作L=(a1,a2,an)注:(1)n=0为表长;(2)n=0时为L空表;记作L=()如:字母表A,B,C,Z 数字表(0,1,2,3,9)(同一表中,元素类型相同。)2 2、特点:、特点:,a,ai-1 i-1,a,ai i,a,ai+1 i+1,a ai-1 i-1 称为称为 a ai i 的直接前驱,的直接前驱,a ai+1i+1称为称为 a ai i 的直接后继。的直接后继。除首元素外每个元素除首元素外每个元素有且仅有有且仅有一个直接前驱;一个直接前驱;除尾元素外每个元素除尾元素外每个元素有且仅有有且仅有一个直接后继;一个直接后继;二、线性表的基本运算二、线性表的基本运算(1)初始化 initial_list(L)建空表;(2)求表长 list_length(L)(3)按序号取元素 get_element(L,i)(4)按值查找 list_locate(L,x)(5)插入 list_insert(L,i,x)在表中第i个位置上插入元素x;1 i n+1(6)删除 list_delete(L,i)删除表中第i个元素;1 i n2.2 顺序表顺序表一、线性表的顺序存储结构1、定义:假设有一个足够大的连续的存储空间,将线性表中的元素按其逻辑次序依次存储到这一存储空间中,由此方式存储的线性表称为顺序表顺序表。顺序表示意图seqlista1a2a3a4andatamaxlen-10123listlenn-12、类型描述#define maxlen 100 typedef struct elementtype datamaxlen;int listlen;seqlist;变量定义,如:seqlist L,L1;注:a:datamaxlen的下标是0到maxlen-1;b:listlen是线性表的长度,最后一个元素下标是listlen-1;3、顺序表的特点:逻辑上相邻的元素,其存储地址也相邻;即,可以随机存取元素。二、顺序表运算的实现1、初始化(建空表):void initial_list(seqlist *L)L-listlen=0;2、求表长:int list_length(seqlist L)return L.listlen;3、按序号取元素:void get_element(seqlist L,int i,elementtype&x)if(iL.listlen)error(“序号错”);else x=L.datai-1;4、按值查找:(找到则返回其序号,否则返回0)int list_locate(seqlist L,elementtype x)int i;for(i=0;ilistlen=maxlen)error(“溢出”);else if(iL-listlen+1)error(“序号错误”);else for(j=L-listlen-1;j=i-1;j-)L-dataj+1=L.dataj;L-datai-1=x;L-listlen+;n n插入算法的时间分析插入算法的时间分析 在在i=1i=1,2 2,n+1n+1时,时,元素移动的次数分为元素移动的次数分为n n,n-1n-1,0 0。平均移动次数(等概率情况下):平均移动次数(等概率情况下):(0+1+(0+1+n)/(n+1)=n/2+n)/(n+1)=n/26、删除:maxlen-1 a1a2a3ai-1ai+1 dataanseqlistListlen012i-2i-1ai被删被删除除maxlen-1a1a2a3aiai+1dataanseqlistListlen012i-1i全部向前移一个位置分析:首先判断顺序表是否为空以及i的取值;可以则删除:(1)ai+1an往前移一位;(2)表长-1;void list_deletevoid list_delete(seqlist*Lseqlist*L,int iint i)int j;int j;if(L-listlenlistlen=0)error(“下溢出下溢出”););else if(iL-listlen)error(else if(iL-listlen)error(“序号错误序号错误”););else else for(j=i;jlistlen-1;j+)for(j=i;jlistlen-1;j+)L-dataj-1=L-dataj;L-dataj-1=L-dataj;L-listlen-;L-listlen-;n n删除算法的时间分析:删除算法的时间分析:在在i=1i=1,2 2,n n时,元素移动的次数分别为时,元素移动的次数分别为n-1n-1,n-2n-2,,0,0。平均移动次数:平均移动次数:(0+1+(0+1+(n-1)/n=(n-1)/2+(n-1)/n=(n-1)/2三、顺序表的应用 已知顺序表L递增有序,设计算法,在L中插入元素x,使得L依然递增有序。例例例例算法如下:void insert(seqlist*L,elementtype x)int i=L-listlen-1;if(i=maxlen-1)error(“溢出”);else while(i=0&L-dataix)L-datai+1=L-datai-;L-datai+1=x;L-listlen+;解解解解:

    注意事项

    本文(数据结构线性表顺序表.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开