首页 > 其他分享 >数据结构学习笔记——线性表

数据结构学习笔记——线性表

时间:2024-07-15 16:57:10浏览次数:19  
标签:结点 线性表 删除 笔记 链表 插入 前驱 数据结构 指针

链表

1.单链表
链表的插入:
        (1)需要知道插入位置的前驱结点(从表头顺序遍历)
        (2)先修改要插入的结点(新结点)的指针
        (3)再修改前驱结点的指针
链表的删除:
        (1)要知道删除结点的前驱结点(从表头顺序遍历)
        (2)只需要修改前驱结点的指针
        (3)最后delete/free
已知一个结点,只能对后继结点进行操作(插入/删除)——单链表不能删除当前结点!!!
        (4)实现前插可以在插入后交换两个结点数据域

2.双链表
插入和删除
        (1)操作与单链表类似,但需要多操作两个指针
        (2)插入:先修改新结点,再修改前驱结点
        (3)删除:只需修改前驱结点
双链表有前驱指针,因此可以删除当前结点
        (4)双链表+尾指针:在尾部结点操作不需要遍历

3.循环链表
        (1)循环链表在任何位置插入和删除都是等价的,无需判断是否在表尾。即循环链表有头
指针等价于有尾指针。
        (2)循环链表尾指针是头指针的前驱,对表头和表尾操作都是O(1).
        (3)循环链表尾指针指向的是头结点而不是第一个元素的结点!!!

4.链表与顺序表对比
        (1)顺序表插入删除要移动元素!!!,而链表不用移动
        (2)顺序表支持随机访问,而链表O(n)
        (3)移动指针效率低,因此同样的时间复杂度,链表效率更低

标签:结点,线性表,删除,笔记,链表,插入,前驱,数据结构,指针
From: https://blog.csdn.net/lmma1/article/details/140435683

相关文章

  • 支配树学习笔记
    先抛出一个问题:给一个有向图,问从\(1\)节点出发,求每个节点的受支配集。这里,支配的定义为:若从\(1\)结点出发到\(v\)节点的所有路径中,都必须经过\(u\)节点,则称\(u\)支配\(v\)。那么受支配集意思就是对于\(v\)点满足条件的\(u\)点的集合。那么根据支配的定义,我们可以......
  • 【文化课学习笔记】【物理】动量
    【物理】动量冲量基础概念定义力在时间上的积累。冲量一般用字母\(I\)表示。公式冲量\(I\)的表达式如下:\[I=F\cdott\]由于\(F\)的单位是\(\puN\),\(t\)的单位是\(s\),所以冲量的单位是\(\pu{N*s}\)。根据表达式可知,冲量是矢量,方向与\(F\)相同。注意:冲......
  • UE4材质笔记
    常用节点:添加贴图:TextureSample(贴图采样)常量数字:Constant(数字)Vector或长按数字并点击左键乘法:Multiply或长按M并点击左键常用插值:Lerp或长按L并点击左键加法:Add或者长按A键并点击左键减法:Subtract除法:Divide或者长按D键并点击左键1-x:搜索1-或者oneminus或者长按O键并点击左键绝......
  • 大数据实训第七天笔记
    打包Mapreduce代码以及自定义类型打包wordCount类使用自定义的类型进行mapreduce计算打包wordCount类使用maven的assembly:assumbly插件会生成如下的target打包文件,选择下方的mapreduce_test-1.0-SNAPSHOT-jar-with-dependencies.jar,这是包含依赖文件的jar包,将其......
  • leetcode刷题笔记
    11妙用数据结构11.2数组448找到所有数组中消失的数字//方法1//1.使用一个数组的下标记录每个对应数字出现的次数//2.遍历数组,根据值为0的元素所在的下标确定没有出现过的数字std::vector<int>findDisappearedNumbers(std::vector<int>&nums){std::vector<in......
  • NPA论文阅读笔记
    NPA:NeuralNewsRecommendationwithPersonalizedAttention论文阅读笔记这个又是一篇很老但是很经典的论文,这里来读一下Abstract现存的问题:​ 不同的用户通常有不同的兴趣爱好,同一用户也可能有不同的兴趣爱好。因此,不同的用户点击同一篇新闻时可能会关注不同的方面。提出......
  • 硬件开发笔记(二十六):AD21导入电感原理图库、封装库和3D模型
    前言  电阻,电容,电感还有各种基础的电子元器件、连接器和IC构成了各种实现功能的电子电路。  本篇介绍电感,并将贴片电感封装导入AD21,预览其三维模型。 贴片电感  贴片电感作为电子元件中的重要一员,因其小型化、高品质、高能量储存和低电阻等特性,在电子线路中发挥......
  • 大数据之路 读书笔记 Day5 数据同步遇到的问题与解决方案
    回顾Day4数据同步Day3无线客户端的日志采集1.分库分表的处理分库分表(Sharding)是数据库水平扩展的一种策略,当单个数据库的性能和存储能力无法满足应用需求时,可以采用分库分表来分散数据和查询负载。它通常包括两个方面:分库(DatabaseSharding)和分表(TablePartitio......
  • 大数据之路 读书笔记 Day6 离线数据开发之数据开发平台
    回顾Day5数据同步遇到的问题与解决方案Day4数据同步1.统一计算平台1.1MaxCompute概述MaxCompute(原名ODPS,OpenDataProcessingService)是阿里云提供的一种快速、完全托管的EB级数据仓库解决方案。它为用户提供了海量数据存储和实时计算的能力,适用于离线数据处理......
  • 第七天学习笔记(经验测试,白盒测试)
    经验测试法错误推测法基于经验的测试技术之错误推测法错误推测法也叫错误猜测法,就是根据经验猜想,已有的缺陷,测试经验和失败数据等可能有什么问题并依此设计测试用例.异常分析法基于经验的测试技术之异常分析法系统异常分析法就是针对系统有可能存在的异常操作、软硬件缺陷......