码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 算法与数据结构 --- 线性表 --- 顺序表和链表的比较,以及线性表的应用


    第一部分 --- 顺序表和链表的比较

     即结点中存储的数据占的内存空间大小 除以 结点占的总内存空间大小

     

    1.存储空间的溢出指的是当要存储的数据过多,存储空间不够时的数据溢出现象


    第二部分 --- 线性表的应用

    1.线性表在合并后不能够出现重复元素,而有序表在合并后,合并的总表中会出现所有的元素(可重复出现),且里面的元素依然按照值非递减有序排列

     

     1.上面这个算法的逻辑是:在Lb找元素,找到元素后将元素传给e,然后在La表中查找e,如果没找到的话就执行插入操作,如果找到的话就什么都不执行,继续循环

    1.这个算法的本质就是在不停的从两个表组成的总元素中选最小元素(结合非递减排序特性选取)

    1.最后一行那里补上一个7

     

    1.关于时间复杂度:一般情况下我们都是考虑基础语句的最坏情况(最多次执行次数)作为时间复杂度,而上面算法中作为基础语句的循环判断的最坏情况(最多执行次数)为 La + Lb,所以算法复杂度为 O(La的长度 + Lb的长度)

    (对于if语句而言,执行了if里的语句就不会再去执行else中的语句,所以x = a,y = b的时候就表明if判断总共执行了 a + b 次,上面这个循环也同理 )

    2.关于空间复杂度,由于我们在算法中创建了一个新的表Lc,且Lc的长度是La表的长度加上Lb表的长度,所以算法的空间复杂度就是上面那个了。

     

     给 pc -> next 赋值pa后,pc -> next是否为真,若为真的话则给pc -> next赋值pa,若为假的话则赋值pb

     (没有用处的头结点可以直接释放掉)

    1.创建两个指针,然后让这两个指针分别指向两个链表的首元结点

    2.插入剩余段那里要注意 段 这个词, 在链表中接上了某一个结点之后就相当于将这个结点后面的所有结点也跟着接上了

    3.关于空间复杂度:由于我们在算法中没有创建新的内存空间,所以空间复杂度为O(1)

    4.关于时间复杂度 --- 一般总是要考虑在最坏情况下的时间复杂度,所以上面的算法中作为基础语句的循环判断的最坏情况就是执行 La + Lb次,所以算法复杂度为 O(La的长度 + Lb的长度)


    第三部分 --- 案例分析

     

  • 相关阅读:
    JVM优化案例实战-手动模拟Young GC
    【Java技术专题】「原理分析系列」分析反射底层原理及基础开发实战
    Matlab:Matlab 软件学习之GUI图像用户界面简介(工具栏/菜单栏/对话框)、GUI界面设计案例应用(设计二级菜单栏)之详细攻略
    面试官:Redis如何保证高可用?
    NR 物理层编码 S2 - 线性码
    Spring面试八股文(2022最新版)
    堆排序详解
    编程高手必学的内存知识04:深入理解静态链接与动态链接
    云原生之旅 - 5)Kubernetes时代的包管理工具 Helm
    浙大恩特客户资源管理系统CustomerAction.entphone;.js 接口任意文件上传漏洞复现 [附POC]
  • 原文地址:https://blog.csdn.net/qq_51947882/article/details/126860993
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号