首页 > 其他分享 >第二章-线性表 1.线性表的定义和基本操作

第二章-线性表 1.线性表的定义和基本操作

时间:2022-12-08 22:14:17浏览次数:42  
标签:线性表 复杂度 元素 后继 链表 基本操作 第二章

定义

具有相关数据类型的n个数据元素的有限序列叫做线性表.
术语:
位序,表头元素,表尾元素,直接前驱,直接后继.

线性表的基本操作
基本记忆思路: 创建销毁,增删改查.

知识回顾

两种存储结构

顺序表(顺序存储)

顺序存储方式实现的线性表.

1 使用静态数组,实现顺序表
初始化时,顺序表长度设置为0

c++共有三种传递值的方式:
1.值传递
2.引用传递(c++独有,c没有)
3.指针或地址传递

2 动态分配
malloc和free函数搭配使用.

顺序表的特点:

  • 随机访问,O(1)时间内就可以找到第i个元素.
  • 存储密度高,只存储数据元素(不存储指针数据)
  • 宽展容量不方便,(即使采用动态分配方式实现,扩展长度的时间复杂度较高)

插入的时间复杂度
问题规模n=l.length(表长)
最好O(1)
最坏O(n),在第一个位置插入,全部元素都要后移.
image

删除的时间复杂度
最好情况O(1)
最坏情况O(n)
平均情况O(n)

顺序表的查找
最好情况O(1)
最坏情况O(n)
平均时间复杂度(N+1)/2即O(n)
需要注意位置和数组下标的关系

链表(链式存储)

是否带头结点
image
某结点之前插入数据
思路是交换数据(偷天换日的行为!)
指定节点的删除,思路也是交换数据.
数据结构常见时间复杂度
image

双向链表

image

初始化 prior,next都指向null
p后插q结点的操作
简易记法:
出发去p的后继节点->从p的原后继节点回来(需要判空,是否有后继节点)
->去p->从p回来

循环链表

image

静态链表

操作系统FAT表,会用到静态链表

线性表和链表的比较

基本操作
image

标签:线性表,复杂度,元素,后继,链表,基本操作,第二章
From: https://www.cnblogs.com/qianxilin/p/16575955.html

相关文章

  • web框架推导 wsgiref模块 jinja2模板语法 django框架简介 django基本操作
    目录纯手撸web框架web框架的本质手写web框架存在的问题基于wsgiref模块基本介绍推导流程代码封装优化总结动静态网页jinja2模块前端、后端、数据库三者联动推导流程总结pyt......
  • 框架第一课---纯手撸web框架,基于wsgiref模块,代码封装优化,动静态网页,jinja2模板语法,dja
    今日内容概要纯手撸web框架基于wsgiref模块代码封装优化动静态网页jinja2模板语法python主流web框架django框架简介django基本操作命令django小白必会三板斧......
  • 学习 Rust(第二章 Rust基础入门)
    0.Rust基础入门从现在开始,我们正式踏入了Rust大陆,这篇广袤而神秘的世界,在这个世界中,将接触到很多之前都没有听过的概念:所有权、借用、生命周期宏编程模式匹配类......
  • Ubuntu ——基本操作命令
    Ubuntu——基本操作命令​​1、移动​​​​2、复制/重命名​​​​3、删除​​​​4、新建​​​​5、运行shell脚本文件​​​​6、为软件创建菜单图标​​​​7、查看u......
  • git基本操作
    1、常见命令1.1、gitinit用来初始化一个Git仓库,执行完命令后会生成一个.git目录1.2、编辑git配置文件gitconfig--globaluser.name“用户名”/gitconfig--glo......
  • 1、线性表
    线性表是有限个相同元素有顺序地排列的集合。实现方式通常分为顺序表实现和链表实现。 1、顺序表(数组)实现线性表直接分配一块连续的内存存储数据。比如数组,就是一个......
  • 算法第二章
    1、习题     2、归并排序    3、分治法概述            4、快速排序             ......
  • Oracle表空间、用户基本操作
    --创建表空间CREATETABLESPACExtgxDATAFILE'xtgx.dbf'SIZE500MUNIFORMSIZE10M;--创建用户createuserxtgxidentifiedbyxtgx;--用户赋权grantconnec......
  • Linux的基本操作
    一、Linux的文件系统1、Windows文件系统;fat32、ntfs,分区、盘符2、Linux文件系统:ext2、ext3、reiserFS等,目录树二、Linux根目录的子目录1、bin:普通用户常用例程,例如:date命令2......
  • 线上服务异常的定位、处理与优化的探索 - 第二章 线上服务常见问题
    一.1. 常见问题列举 Ø cpu突然爆满、起飞。Ø 服务器短暂无响应或假状态停机。Ø 应用运行一段时间后变卡,提交请求明显速度下降。Ø 页面响应慢,加载失败。Ø......