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

ArrayList - 数据结构 - 数组

ArrayList - 数据结构 - 数组

数组(Array)是一种用连续的内存空间存储相同数据类型的线性数据结构

image

数组如何通过索引来获取的数据?寻址公式,int占4个字节。

image

为什么数组从0开始,而不是从1开始。

嗯,是这样的,如果数组从1开始索引也是可以的,但是原来的寻址公式就不能用了,就需要用新的寻址公式image

这样的寻址公式,相比从0开始索引的寻址公式,对于CPU来说添加了一个减法的指令。从0开始索引相比从1开始索引性能会好一些。

  1. 数组是用一种连续的内存空间存储相同数据类型的线性数据结构

  2. 数组下标为什么从0开始?

    1. 当我们使用索引去查询数据的时候,会通过一个寻址地址来计算,公式是 baseAddress + 索引 * dataTypeSize(首地址 + 索引乘数据类型大小)。如果数组从1开始索引的话,会给CPU增加一个减法的指令,积少成多,性能不高。
  3. 查找的时间复杂度

    1. 如果是按索引查找的话,那么时间复杂度就是O(1)
    2. 如果不知道索引,而是遍历的话,那么平均的复杂度就是O(n)
    3. 不知道索引,但是排序了,通过了2分查找那么时间复杂度就是O(log n)
  4. 插入和删除的时间复杂度

    1. 平均都是O(n)
http://www.dtcms.com/a/456709.html

相关文章:

  • 做网站的注意什么问题哪些经营范围是包含网站开发的
  • 【Python】基于 PyQt6 和 Conda 的 PyInstaller 打包工具
  • MyBatis Plus 核心功能与用法
  • LNMP架构实践
  • 自己怎么建个网站赚钱吗外贸品牌推广公司
  • 在线咨询 1 网站宣传建立免费公司网站
  • 10-存储过程和存储函数
  • leetCode101:对称二叉树
  • 【Linux】网络部分——Socket编程 UDP实现网络云服务器与本地虚拟机的基本通信
  • 实战项目:鸿蒙多端协同智能家居控制 App 开发全流程
  • 个人用云计算学习笔记 --19 (MariaDB服务器)
  • Linux -- 信号【中】
  • Azure - 尝试创建并使用一下Azure AI Search
  • NtripShare GNSS接收机配置系统SPI读取村田SCL3300倾角数据
  • Python私教FastAPI+React构建Web应用02 什么是全栈Web应用
  • 开源安全管理平台wazuh-文件完整性监控FIM
  • 网站建设选超速云建站黄页88成立时间
  • 南通做网站ntwsd开发公司总工年终总结
  • VS Code文件监视排除设置详解
  • 3D坐标旋转公式
  • 《Git 从入门到进阶》教学大纲
  • linux网络服务+linux数据库5
  • 德山经济开发区建设局网站wordpress的数据库在哪里
  • P3808 AC 自动机(简单版)
  • C++----bitmap位图的使用
  • 单链表的应用02---算法中的暴力美学(第八讲)
  • 【RAG】优化query查询效果的几种处理
  • transformer详解(位置编码+attention+残差连接+全连接网络)
  • 已注册域名怎么做网站呢免费网站免费网站平台
  • 如何解决 pip install -r requirements.txt 约束文件 constraints.txt 仅允许固定版本(未锁定报错)问题