码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据结构-----顺序表vs链表


    📎个人主页:我的主页
    📎小白一枚,欢迎指教👏


    文章目录

      • 一、基本操作 (创、销、增、删、改、查)
          • 1、创:
          • 2、销:
          • 3、增,删:
          • 4、查找:
      • 二、如何选择

    • 逻辑结构:都属于线性表,都是线性结构,数据元素之间存在着一对一的关系。
    • 存储结构:1. 顺序表(顺序存储),只要知道其实地址,就可以知道第i个元素的存储位置,顺序表拥有随机存取的特性。 优点:支持随机存取、存储密度高;缺点:大片连续空间分配不方便,改变容量不方便。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vw4GBkwJ-1660537523181)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220815094022835.png)]

    1. 链表(链式存储),各个结点可以离散的分布在各个空间当中,添加结点的时候只需要用malloc函数动态申请一小片空间即可。各个结点的存储空间不要求连续,所以改变容量也方便。但是查找时只能从第一个头结点依次查找。 优点:离散的小空间分配方便,改变容量方便;缺点:不可随机存取,存储密度低。

    (顺序存储时,逻辑上相邻的元素,对应的物理位置也相邻,链式存储时,逻辑上相邻的元素,物理上不一定相邻)


    一、基本操作 (创、销、增、删、改、查)

    1、创:

    • 顺序表:需要分配大片连续的空间,若分配的空间过小,则之后不方便拓展容量,若分配的空间过大,则浪费资源;
    • 链表:只需要分配一个头结点(也可以以不要头结点,只声明一个头指针),之后方便拓展。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jfwDbVb5-1660537523183)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220815112648579.png)]

    2、销:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3OCSQalR-1660537523184)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220815113041109.png)]

    (注意动态分配一定要手动free)

    3、增,删:

    • 顺序表:插入/删除元素要将后续元素都后移/前移。时间复杂度O(n),时间开销主要来自移动的元素。若数据元素很大,则移动时间的时间代价很高。
    • 链表:插入/删除元素只需要修改指针即可。时间复杂度O(n),时间开销主要来自查找目标元素。查找元素的时间代价更低。

    4、查找:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9bph5wJZ-1660537523185)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220815121743958.png)]


    二、如何选择

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EymTXVbJ-1660537523186)(/Users/wuxin/Library/Application Support/typora-user-images/image-20220815122018876.png)]

  • 相关阅读:
    PicoLog软件应用-电动车能耗记录
    Java Native尝试
    leetcode 518. 零钱兑换 II、377. 组合总和 Ⅳ
    Flink Watermark机制
    传输层 拥塞控制-慢开始和拥塞避免 快重传 快恢复
    node.js --- MVC
    社交网络分析的 R 基础:(五)图的导入与简单分析
    【嵌入式开发 Linux 常用命令系列 7.2 -- awk 找到空格并插入字符】
    StarkWare:关于Cairo的10个资源
    react-redux开发者工具的使用
  • 原文地址:https://blog.csdn.net/weixin_50490968/article/details/126344509
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号