当前位置: 首页 > news >正文

数据结构概述

逻辑结构

在这里插入图片描述

在这里插入图片描述

顺序存储
在这里插入图片描述

随机访问是可以通过下标取到任意一个元素,即数组的起始位置+下标

链式存储
链式存储是不连续的,比如A只保留了当前的指针,那么怎么访问到B和C呢

每个元素不仅存储自己的值还使用额外的空间存储指针指向下一个元素的地址,所以链式存储只能按照顺序取值
通过A->B 不能A->C,如果C的后面没有值了那么adr+z 可以保存Null 表明后面没有值了
在这里插入图片描述

逻辑结构和存储结构的区别:
1.逻辑结构对人是友好的 比如一对一,一对多,多对多 (为了实现不同的逻辑,程序员去实现的)
2.存储结构对计算机友好 内存连续或者不连续 (把程序员实现的逻辑结构存储到计算机中)
我们的目的是把不同的逻辑结构用不同的存储结构去实现

在这里插入图片描述

在这里插入图片描述

时间复杂度和空间复杂度

比如取数组中某一个元素的时间复杂度就是O(1)

在这里插入图片描述

这里没有for循环,不会因为n大就执行很多次,这里还是一次,所以时间复杂度是O(1),不会随着n的增大而变大那么就是O(1)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

m,n此时是不确定的不相等所以O(m*n)
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

空间复杂度

空间复杂度O(1)
n个元素数组排序,不适用额外的空间(随着n的增长而增长的空间) 空间复杂度就是O(1)
在这里插入图片描述

http://www.lryc.cn/news/12910.html

相关文章:

  • 【前端】Vue3+Vant4项目:旅游App-项目总结与预览(已开源)
  • 51单片机蜂鸣器的使用
  • 算法练习-链表(二)
  • LabVIEW使用实时跟踪查看器调试多核应用程序
  • 【go语言grpc之client端源码分析二】
  • centos7安装RabbitMQ
  • node基于springboot 口腔卫生防护口腔牙科诊所管理系统
  • Linux常用命令之find命令详解
  • CMake 入门学习4 软件包管理
  • 【数据库数据乱码错误】存进去的数据乱码(???)
  • rewrite中的if、break、last
  • JavaSE-线程池(5)- 建议使用的方式
  • 城市轨道交通供电系统研究(Matlab代码实现)
  • 什么是 RESTful 风格?
  • 从业6年,对敏捷和自动化测试的一点心得
  • ThreeJS 之界面控制
  • 【查找算法】解析学习四大常用的计算机查找算法 | C++
  • Android实例仿真之一
  • 软考高级-信息系统管理师之重要工具和技术的口语化表示(最新版)
  • 基于springboot+vue的个人健康信息服务平台
  • SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发环境、测试环境、生产环境】
  • 测试2:编写测试用例的方法
  • docker安装配置镜像加速器-拉取创建Mysql容器示例
  • WSL1和WSL2相互转换以及安装路径迁移相关问题
  • 系统分析*
  • 【redis】持久化:RDB和AOF
  • 2023Python接口自动化测试实战教程,附视频实战讲解
  • 【原创】java+swing+sqlserver药品管理系统设计与实现
  • 软考高级信息系统项目管理师系列之二十七:信息文档管理与配置管理
  • 软考高级-信息系统管理师之项目管理基础(最新版)