数据结构与算法 - 数组

  • 数组是内存中的一片连续的内存空间
  • 可以根据索引下标获取某一个元素
  • 新增删除元素时会移动元素位置保证连续性,效率低下

二维数组

简单来说就是盛放数组的数据,换言之,二维数据的一个元素就是一个一维数组

  • 稀疏数组(sparseArray)
    当一个二维数组中大部分元素为0. 或者是一个固定值时,可以将二维数据转化为稀疏数组

    # [4][10]的二维数组
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0
    0, 0, 0, 0, 0, 0, 0, 24, 0, 0
    0, 0, 0, 0, 12, 0, 0, 0, 0, 0
    0, 0, 0, 0, 0, 0, 13, 0, 0, 0
    
    
    # 转化为稀疏数组
    4 10 3            # 原数组是4 行,10 列数组, 其中不同的值有3个
    1 7 24            # 第一个不同的值所在的位置和值, 第1行(从0行开始),第7列(0 列开始),值为24
    2 4 12            # 第二个不同的值所在的位置和值, 第2行,第4列,值为12
    3  6 13            # 第三个不同的值所在的位置和值, 第3行,第6列,值为13
    

    转化为稀疏数组规则:

    • 稀疏数组为固定三列的二维数组
    • 稀疏数据的行数 = 原二维数据不同的值个数 +1
    • 稀疏数组的第零行 的三个元素代表 原数组的行数,列数,不同值的个数
    • 从第一行开始,每一行记录的是每个不同数据的所在行,列,值
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容