看图轻松理解数据结构与算法系列(数组)

作者:超人汪小建(seaboat)

出处:https://blog.csdn.net/wangyangzhizhou/column/info/25184/2


数组

数组是最熟悉也是最基础的一种结构了,有限个相同数据类型的元素按顺序排列的集合为数组。数组的数据是连续的,有上界下界,在其中的元素都有属于自己的索引值,即下标,通过这些下标就能定位到数组值。

根据维度的不同可以将数组分为一维数组、二维数组、三维数组等等,以此类推。

一维数组

创建一个长度为10的数组,

image

如果将 11,22,33,44四个数字放到数组中,

image

如果将 "the","monster","is","coming"四个字符串放到数组中,

image

找数组的下标为0和3保存的字符串,

image

数组大小为10,则下标范围为0到9,如果超出范围则越界,导致错误,

image

二维数组

二维数组也称为矩阵,因为是二维的,所以需要两个下标才能确定一个元素,即行下标和列下标。创建一个3行10列的二维数组(矩阵),一共可存放30个元素,

image

"the","monster","is","coming"四个字符串分别放到数组(0,1)(2,2)(2,6)(1,4)四个坐标上,

image

找数组中(2,6)(1,4)坐标中保存的字符串,

image

三维及更高维数组

三维数组即由三个维度组成的数组,是最常见的多维数组,由三个不同的下标参量去描述数组中的元素。

按照正常思维,我们常常会用现实世界的三维空间来对应三维数组以进行理解,但我不建议通过这样来映射,这样的思维方式不助于理解更高的维度,因为你很难用现实世界来想象四维五维或更高维。

所以建议以索引的形式来理解,每个维度都可以看成是一层索引,三维的情况则可以看成如下,

image

比如将”the”放到(0,1,2)坐标中,

image

更高维度则可以继续往上抽取一维,类似树结构。

赞(8) 打赏

如未加特殊说明,此网站文章均为原创,转载必须注明出处。Java 技术驿站 » 看图轻松理解数据结构与算法系列(数组)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

关注【Java 技术驿站】公众号,每天早上 8:10 为你推送一篇技术文章

扫描二维码关注我!


关注【Java 技术驿站】公众号 回复 “VIP”,获取 VIP 地址永久关闭弹出窗口

免费获取资源

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏