Java数据结构数组篇

Java数据结构数组篇

什么是数据结构?
数据在计算机中的存储结构,即数据在计算机中是如何摆放的。

名称优点缺点
队列提供先进先出的存取方式存取其他项很慢
链表插入快,删除快查找慢
红黑树(平衡树)查找、插入,删除都快算法复杂
2-3-4树(平衡树)查找、插入,删除都快算法复杂
哈希表插入、通过关键字存取快删除慢
插入、删除快,对最大数据的项的存取很快对其他数据项存取蛮
对现实世界建模有些算法复杂且慢

数据结构和算法的重要性
算法是程序的灵魂,优秀的程序可以在计算海量数据计算时,依旧保持高速计算。
如:String str = “java,java,hello,world”;
String temp = str.replaceAll(“java”,“你好”);
//replaceAll 是如何实现的呢???

数据结构包括:线性结构非线性结构
线性数据结构:特点是:数据元素之前存在着一对一的线性关系。又分为顺序表(存储数据是连续的)和非连续表(链式),主要有数组,队列,链表,栈
非线性数据结构:二维数组,多维数组,广义表,树结构和图结构

数组、二维数组和稀疏数组
数组:int [] array = new int[3]; 很好理解 数组的长度是3,里面存放3个数据,存取:array[0] = 10; array = [1] = 20; … 在这里插入图片描述

二维数组:二维数组本质上是以数组作为数组元素的数组, 即同数组比较 数组每个下标内存入的是单个数据,而二维数组每个下标下存入的数据是数组,如下图:

在这里插入图片描述

**稀疏数组:**可以看做是特殊二维数组。典型的案例就是五子棋,创建五子棋所用的棋盘空间是比较大的 但是实际的point的点数据只有极少数,实际只有部分棋子的点数据,这个时候为了优化存储空间,可以采用这种二维数组来存储数据,优化存储结构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值