您所在位置: 网站首页 / 文档列表 / 数据结构与算法 / 文档详情
数据结构课件线性表学习教案.pptx 立即下载
上传人:王子****青蛙 上传时间:2024-09-04 格式:PPTX 页数:72 大小:1.6MB 金币:6 举报 版权申诉
预览加载中,请您耐心等待几秒...

数据结构课件线性表学习教案.pptx

数据结构课件线性表学习教案.pptx

预览

免费试读已结束,剩余 62 页请下载文档后查看

6 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学2.1线性表的逻辑结构例2-3一个(yīɡè)学校的学生健康情况登记表如下图所示。2.1线性表的逻辑结构一个线性表(linear_list)是n(n≥0)个具有相同属性的数据元素的有限(yǒuxiàn)序列,其中各元素有着依次相邻的逻辑关系。72.2线性表的顺序存储结构(1)定义用一组地址连续的存储单元(cúnchǔdānyuán)依次存储线性表中的各个数据元素,称为线性表的顺序存储。1(2)特点只要确定了存储线性表的起始位置,线性表中任一数据(shùjù)元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的存储结构。顺序存储结构的特点是:逻辑上相邻的数据(shùjù)元素在物理存储上(在存储器中)也相邻。(3)线性表的顺序存储结构可以使用一维数组来表示线性表的顺序存储结构。线性表的顺序存储结构的C语言(yǔyán)描述如下。(1)算法(suànfǎ)思想(2)算法(suànfǎ)编写(1)算法思想在一般情况下,在第i(1≤i≤n)个元素之前(zhīqián)插入一个元素时,需要将第i至第n(共n-i+1)个元素向后移动一个位置。a1#defineOK1#defineERROR0IntInsList(SeqList*L,inti,ElemTypee)/*在顺序线性表L中第i个位置插入(chārù)新的元素e。*//*i的合法值为1≤i≤L->last+2*/if(L->last>=MAXSIZE-1){printf(“表已满无法(wúfǎ)插入”);return(ERROR);}(3)算法分析算法InsList的基本操作是数据元素后移操作。执行元素后移的次数是n–i+1。可以看到:移动元素的次数不仅和线性表的长度n有关,而且还与插入元素的位置i有关。当i=n+1时,无须(wúxū)移动元素;当i=1时,则元素后移执行n次。也就是说,该算法在最好的情况下时间复杂度是O(1),在最坏的情况下时间复杂度是O(n)。(1)算法思想在一般情况下,删除第i个元素时,需要(xūyào)将n至第i+1个(共n-i)元素向前移动一个位置。a1IntDelList(SeqList*L,inti,ElemType*e)/*在顺序线性表L中删除(shānchú)第i个元素,并用e返回其值i的合法值为1≤i≤L->last+1*/L->last--;/*表长减1*/returnOK;}/*DelList*/(3)算法分析算法DelList的基本操作是数据元素前移操作。执行元素前移的次数是n-i。可以看到:移动元素的次数不仅和线性表的长度n有关(yǒuguān),而且还与删除元素的位置i有关(yǒuguān)。当i=n时,无须移动元素;当i=1时,则元素前移执行n-1次。也就是说,该算法在最好的情况下时间复杂度是O(1),在最坏的情况下时间复杂度是O(n)。进一步分析算法的平均性能:算法DelList的时间复杂度为O(n)。线性表顺序存储结构的最大特点就是逻辑上相邻的两个元素(yuánsù)在物理位置上也相邻。这一特点使顺序表具有十分鲜明的优点和缺点。(2)顺序存储结构(jiégòu)的缺点27线性表的链式存储(cúnchǔ)表示线性表链式存储结构的特点是用一组任意的存储单元存储该线性表中的各个数据(shùjù)元素(存储单元可以连续,也可以不连续)。(1)结点一个数据元素ai的存储结构由两部分信息组成,称之为结点(node)。结点包括两个域:数据域(data),存储数据元素信息;指针域(next),存储直接后继元素地址(没有(méiyǒu)后继元素时指针为“空”(NULL))。指针域中存储的信息称为指针或链。(2)线性表的单链表存储(cúnchǔ)结构例:线性表如下(rúxià):(ZHAO,QIAN,SUN,LI,ZHOU,WU,ZHENG,WANG)33(3)头结点(jiédiǎn)和头指针头指针(zhǐzhēn)建立线性表的链式存储结构的过程是一个动态生成单链表的过程,即从“空表”的初始状态起,依次建立各元素结点,并逐个插入到单链表中。(1)算法(suànfǎ)思想38s->data=c;s->next=L->next;/*将新结点插入到单链表的头*/L->next=s;/*修改(xiūgǎi)单链表头结点的指针域*/}/*while结束*/elseflag=0/*若输入字符为$,置flag=0*/}}/*CreatFromTail*/(1)算法思想在单链表中,任何两个元素(yuánsù)存储位置间没有固定的联系,每一个元素(yuánsù)的存储位置都包含在其直接前驱结点的next之中。LNode*Get(LinkListL,inti)/*L是带头结点单链表
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

数据结构课件线性表学习教案

文档大小:1.6MB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用