iT邦幫忙

2021 iThome 鐵人賽

DAY 4
1
自我挑戰組

一個月的演算法挑戰系列 第 4

Day04:資料結構 - 陣列(Array)

  • 分享至 

  • xImage
  •  

閒話家常

今天來到了鐵人賽的第四天了,我們繼續來聊聊資料結構,秉持著一天弄懂一個觀念,相信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


上一篇
Day03:資料結構 - 列表(List)
下一篇
Day05:資料結構 - 堆疊(Stack)
系列文
一個月的演算法挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言