数据结构与算法: 数组

栏目: 编程工具 · 发布时间: 5年前

内容简介:数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据。数组有两个最大的特点:线性表 vs. 非线性表

数组(Array)是一种线性表数据结构,它用一组连续的内存空间,来存储一组具有相同类型的数据。

数组有两个最大的特点:

  • 线性表数据结构 :线性表(Linear List)就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。数组,链表、队列、栈 都是线性表结构。与之对应的是非线性表数据结构,如二叉树、堆、图等。
  • 连续的内存空间和相同类型的数据

线性表 vs. 非线性表

数据结构与算法: 数组 数据结构与算法: 数组

复杂度分析

数组具有如下特性:

  • 非常高效的“随机访问”:通过下标访问只需一次操作即可获取到数据
  • 低效的“插入”和“删除”:插入和删除后,需要同时移动数组中的其它数据

数据结构与算法: 数组

对应的时间复杂度如下:

  • Access: O(1)
  • Insert: 最小 O(1),最大 O(n),平均 O(n)
  • Delete: 最小 O(1),最大 O(n),平均 O(n)

注意:数组的查询操作并非为 O(1),即便是排好序的数组,采用二分查找,时间复杂度也是 O(logn)。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件测试的艺术

软件测试的艺术

梅尔斯 / 机械工业出版社 / 2006年01月 / 22.0

《软件测试的艺术》(原书第2版)成功、有效地进行软件测试的实用策略和技术:    基本的测试原理和策略      验收测试    程序检查和走查         安装测试    代码检查            模块(单元)测试    错误列表            测试规划与控制    同行评分            独立测试机构    黑盒、白盒测试    ......一起来看看 《软件测试的艺术》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具