Day04:资料结构 - 阵列(Array)

闲话家常

今天来到了铁人赛的第四天了,我们继续来聊聊资料结构,秉持着一天弄懂一个观念,相信30天的铁人赛後,就会和30天前的自己不一样。


什麽是阵列(Array)?

阵列是一种资料结构,也可以说是储存资料的方式,相较於列表,更方便存取,若要在阵列中追加或删除数据,就会很费时费力。
在阵列中搜寻数据时,会用到几种演算法,下列列出笔者较为熟悉的种类,若日後有其他资料会在进行补充:

  1. 线性搜寻法(Linear Search)
  2. 二元搜寻法(Binary Search)
  3. 二元树搜寻法(Binary Tree Search)
  4. 杂凑搜寻法(Hashing Search)

後续会再提到各个演算法的详细内容,此处先着重在资料结构的部分。

阵列简单来说,就是一个萝卜一个坑,每个变数都有专属他的索引值,索引值可以方便搜寻、删除等等的操作。
阵列与前一天提到的列表长得很相似,但他们还是有一些不同的地方,我们先来了解相同部分,再来聊聊两者差异。

  1. 两者资料结构都是可变的
  2. 两者都可以切片与迭代
  3. 两者都有索引值
  4. 两者都用於储存资料

What's different between array and list?

列表可放不同资料结构

#Python
a = ["a", "b", 1, 2]

阵列仅能放相同资料结构

#在Python中使用阵列时,要导入numpy模组
import numpy as np

b = [2, 4, 6, 8, 10]
b = np.array(b)
#JavaScript
var table = new Array("red", "green","blue");

若需要进一步资讯,可参考其他文件:
For JavaScript

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Array

For Python

https://docs.python.org/3/library/array.html


<<:  [想试试看JavaScript ] 陈述式与表达式

>>:  AE卷轴制作2-Day3

[Day21]Geolocation based Speedometer and Compass

[Day21]Geolocation based Speedometer and Compass 需...

心情管理不好,知识管理如何发挥?

我能同意职员上班不能看股票,因为起起伏伏的线图,也会跟随着心情曲线起伏,让当天无法专注於工作上,毕竟...

Day02-进入JavaScript

资料型态(Data type) 在JavaScript中有以下的资料型态去储存我们的资料,想像一下平...

Day 10 - Kotlin的函式

Day 10 - Kotlin的函式 不知不觉我们已经到达了第十天了,昨天讲的是when条件判断跟w...

Day 29 没有研究出来的 Compose UI ViewPager

今年的疫情蛮严重的,希望大家都过得安好,希望疫情快点过去,能回到一些线下技术聚会的时光~ 今天目标:...