`
ellen_yang
  • 浏览: 21787 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

数据结构:数组

阅读更多

     数组是应用最广泛的数据结构。

 

数组中不允许重复值的情况

  1. 数组的插入:由于新的数据项总是插在数组中第一个空位子上,并且数组中已有数据项个数已知,所以算法知道这个空位的具体位置,新的数据项只是简单地插入到下一个可用空间中。
  2. 查找:查找算法必须平均搜索一半的数据项来查找特定的数据值。查数组头部的数据项快,查数组尾部的数据项慢,若数据项个数为N,则一个数据项的平均查找长度为N/2,在最坏的情况下,待查的数据相在数组的最后,需要N步才能查的到。执行算法的时间长度与执行步数成正比,所以执行算法的时间要比插入(一步)长很多。通过索引访问数组极快(o(1))
  3. 删除:只有找到某一数据项后才能删除它。删除算法暗含着一个假设,及数组中不允许有洞。如果有则算法会变得更加复杂。当找到特定数据项并将其删除后,会将随后的数据项都向前移,填补这个洞。删除需要查找N/2个数据项,并平均移动剩下N/2个数据项。总共是N步(o(n))。

数组是最不浪费内存的数据结构

 

数组中允许重复值的情况:

  1. 查找:通常用需要执行N步(o(n))
  2. 插入:一次移动
  3. 删除:N次比较,多于N/2次移动

      在java中数组是一个对象,所以他的名字是是数组的一个引用,并不是数组本身,数组存储在内存中的其他地址中。

 

有序数组

查找比较方便,但插入和删除比较繁琐

 

 

 

 

分享到:
评论

相关推荐

    数据结构:数组和链表的区别以及各自的优缺点 数组和链表.pdf

    "数据结构:数组和链表的区别以及各自的优缺点" 数据结构是计算机科学中研究的基本概念之一,数组和链表是两种最基本的数据结构形式。它们在计算机科学和其他相关领域中发挥着重要的作用。 数组是将元素在内存中...

    Python 3数据结构和算法的介绍与应用 1.数据结构:数组、链表、堆栈、队列、树、堆、

    Python 3数据结构和算法的介绍与应用。1.数据结构:数组、链表、堆栈、队列、树、堆、图;二. 典型排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序、桶排序、计数排序.zip

    Python3 数据结构与算法的介绍及应用。1. 数据结构:数组、链表、栈等等

    1. 数据结构:数组、链表、栈、队列、树、堆、图; 2. 典型排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序、桶排序、计数排序、基数排序; 3. 查找算法: 顺序查找、二分查找、哈希...

    数据结构:数组存储结构

    数组存储结构是数据结构领域一个基础且重要的概念,它是一种线性数据结构,用一组连续的存储单元来存储一系列的值,通常是相同类型的数据。在C++等编程语言中,数组可以是一维的也可以是多维的,适用于对数据集合...

    数据结构:数组PPT学习教案.pptx

    数据结构中的数组是一种基础且重要的概念,它是一种特殊的线性表,其中的每个元素本身也是一个线性表。数组的特殊之处在于,它具有固定的大小和特定的索引系统,允许快速访问任何位置的元素。多维数组是数组的扩展,...

    数据结构C源码:数组相乘

    数组是一种基本且重要的数据结构,它提供了通过索引来访问元素的能力,这种索引通常是连续的整数。数组相乘是数组处理中常见的运算,尤其在数学计算、矩阵运算和算法实现中扮演着关键角色。 在这个"数据结构C源码:...

    数据结构教学课件:数组和广义表.ppt

    数据结构教学课件:数组和广义表.ppt

    数据结构:第6章 数组和广义表.pdf

    "数据结构:数组和广义表" 数据结构是一门重要的计算机科学课程,对于任何一个计算机专业的学生来说都是必修的。而在数据结构中,数组和广义表是两个非常重要的概念。下面我们将对数组和广义表进行详细的介绍。 一...

    第三章 数据类型:数组、簇和波形

    这有助于管理复杂的数据结构,减少子VI的输入和输出端口数量。 ### 波形 波形是LabVIEW中一种特殊的数据类型,可以看作是簇的一种变形。虽然它不是通用数据类型,但在处理时间序列数据,如声音、图像或物理信号时...

    数据结构多维数组课程设计

    ### 数据结构多维数组课程设计知识点解析 #### 一、问题背景与目标 在计算机科学领域,特别是数据结构的学习和应用中,多维数组是一种重要的数据组织方式。它能够有效地处理多维数据,如图像处理、矩阵运算等场景...

    数据结构:第5章 数组和稀疏矩阵.ppt

    "数据结构:数组和稀疏矩阵" 在计算机科学中,数组是一种基本的数据结构,广泛应用于各种领域。数组是一种随机存储结构,可以直接存取任意数据元素。数组的定义类似于采用顺序存储结构的线性表。数组具有以下性质:...

    数据结构:第5章 数组和广义表.ppt

    数据结构:数组和广义表 数据结构是计算机科学中基础理论之一,对于编程语言和算法的设计具有重要影响。数组和广义表是数据结构中的重要组成部分,本章将详细介绍数组和广义表的定义、操作、存储结构和实现。 1. ...

    大数据必学Java基础(二十四):数组的引入和学习

    在Java编程语言中,数组是一种非常基础且重要的数据结构,特别是在大数据处理中,对大量数据的高效管理和操作离不开数组的应用。本节我们将深入探讨数组的引入和学习。 首先,数组的引入是为了解决特定问题,例如在...

    JAVA【第4章:数组与方法】_数组的定义及使用

    在Java编程语言中,数组是一种非常基础且重要的数据结构,用于存储同类型的多个元素。本章节将深入探讨数组的定义、初始化以及如何在程序中使用它们。数组在Java中的概念和使用是学习Java编程的基础,因此理解其核心...

    实验06:数组(一).zip

    在计算机科学中,数组是一种基本的数据结构,它允许我们在内存中存储同类型的元素集合。数组的概念是编程语言的基础,理解并熟练运用数组对于任何程序员来说都至关重要。在本实验“实验06:数组(一)”中,我们将...

    5、JavaSE:数组-11.pdf

    JavaSE中的数组是一种重要的数据结构,它允许程序员存储和管理一组具有相同数据类型的元素。数组的概念可以类比为一个容器,其中每个元素都有一个唯一的标识,即数组下标,用于区分不同的元素。数组的使用使得处理多...

    严蔚敏数据结构课件05:数组和广义表

    主要是数据结构中数组和广义表的介绍

    第七章:数组_C语言与数据结构PPT7_

    数组也常用于创建动态数据结构,如字符串和多维数组,后者在处理表格数据或图像时非常有用。 在实际编程中,我们需要注意几个关键点: 1. 访问越界:确保不尝试访问数组范围之外的元素,这可能导致未定义的行为。 2...

    数据结构:第5章数组和广义表A.ppt

    在本章“数组和广义表”中,我们将深入探讨两种基本的数据结构:数组和广义表。 首先,数组是一种特殊的数据结构,它由一组具有相同类型并且通过下标进行区分的变量构成。数组的特性包括统一的数据类型、固定的维数...

    第五6课:数组++继承

    数组是编程中最基本的数据结构之一,而继承则是面向对象编程中的一个关键特性。接下来,我们将深入探讨这两个概念。 首先,让我们来讨论数组。数组是一种能够存储同一类型元素集合的数据结构。在Java中,数组可以是...

Global site tag (gtag.js) - Google Analytics