数据结构-线性表

本文详细介绍了线性表的基本概念、顺序存储结构和链式存储结构。线性表是由线性关系的数据元素构成,顺序存储结构通过连续存储实现,而链式存储结构利用指针连接元素。讨论了在两种结构中插入和删除操作的时间复杂度,并提出了在线性表中保持非递减排序的插入算法思路。
摘要由CSDN通过智能技术生成

归纳

  • 线性关系、线性表的定义,线性表的基本操作。

  • 线性表的顺序存储结构与链式存储结构(包括单(向)链表、循环链表和双向链表)的构造原理。

  • 在以上两种存储结构的基础上对线性表实施的基本操作,包括顺序表的插入与删除、链表的建立、插入与删除、查找等操作对应的算法设计(含递归算法的设计)。

概述

  • 线性表的基本概念
  • 线性表的顺序存储结构
  • 线性表的链式存储结构
  • 循环链表及其运算
  • 双向链表及其运算

线性表的基本概念

线性表的定义

A = ( a 1 , a 2 , . . . , a n ) A=(a_{1},a_{2},...,a_{n}) A=(a1,a2,...,an)

数据元素之间具有逻辑关系为线性关系的数据元素合集称为线性表,n为线性表的长度,长度为0的线性表称为空表。

e.g:线性表,数组,堆栈,队列,串,文件等

线性关系:

  1. 1 &lt; i &lt; n 1&lt;i&lt;n 1<i<n时, a i a_{i} ai的直接前驱为 a i − 1 a_{i-1} ai1 a i a_{i} ai的直接后继为 a i + 1 a_{i+1} ai+1
  2. 除了第一个元素与最后一个元素,序列中任何一个元素有且仅有一个直接前驱元素,有且只有一个直接后继元素
  3. 数据元素之间的先后顺序为一对一的关系
线性表的基本操作
  1. 创建一个新的线性表
  2. 求线性表的长度
  3. 检索线性表中的第i个数据元素
  4. 根据数据元素的某个数据项(通常称为关键字)的值,求该数据元素再线性表中的位置
  5. 在线性表的第i个位置存入一个新的数据元素
  6. 在线性表的第i个位置插入一个新的数据元素
  7. 删除线性表中的第i个数据元素
  8. 对线性表中的数据元素按照某一个数据项的值的大小做升序或者降序排序。
  9. 销毁一个线性表
  10. 复制一个线性表
  11. 按照一定的原则,将两个或两个以上的线性表合并成为一个线性表。

线性表的顺序存储结构

线性表顺序存储结构构造原理

用一组地址连续的存储单元依次存储线性表中的数据元素,数据元素之间的逻辑关系通过数据元素的存储位置直接反映。

线性表顺序存储结构图.png

note:所谓一个元素的地址是指该元素占用的若干连续的存储单元的第一个单元的地址。记为 L O C ( a i ) LOC(a_{i}) LOC(ai)。假设每个数据占用k个存储单元,并且已知第一个元素的存储位置 L O C ( a 1 ) LOC(a_{1}) LOC(a1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值