Day1 | 就是愛看書
![Day1](https://i.imgur.com/y8QtHep.jpg)
在開始用JavaScript實作各種資料結構前,總要先了解什麼是資料結構吧,才會知道之後學習的鏈結串列/堆疊/佇列是什麼東西啊~那廢話不多說,我們就開始吧!
![Day1](https://i.imgur.com/y8QtHep.jpg)
在開始用JavaScript實作各種資料結構前,總要先了解什麼是資料結構吧,才會知道之後學習的鏈結串列/堆疊/佇列是什麼東西啊~那廢話不多說,我們就開始吧!
資料結構是什麼?我們就從資料開始說起吧,在我們寫程式時,經常不可避免會將資料進行處理(例如新增/刪除/搜尋等等),那麼當資料變的龐大時,要怎麼有效率的整理這些資料呢?肯定是必須透過一些特殊的方法去將資料做組織化的的管理,因此將資料進行整理,有利於電腦將資料做儲存處理的這些方式就叫資料結構。
那演算法又是什麼?簡單的說它就是用於解決一個問題的一連串步驟,而它必須滿足幾項特性,這裡將用一個尋找[1, 5, 2]陣列中最大值的問題為例:
1. 輸入: 需要有一個或數個輸入的值(這邊的輸入值是[1, 5, 2]) 2. 輸出: 為輸入值經過演算法計算後產出的值(想當然最大值是5) 3. 明確性: 意思是每一個運算的步驟必須明確比如此找最大值的問題步驟是:
先預設1為最大值 移到陣列資料值5的位置,發現5比1大,設5為最大值 移到陣列資料值2的位置,發現5比2大,5還是最大值 輸出結果為5是最大值每個步驟都相當明確,而且符合找出最大值問題的需求
4. 有限性: 在有限步驟後一定會結束,也就是不會一直執行下去(找出最大值後程式就結束了) 5. 有效性: 步驟清楚可行,能確實用數學運算出該步驟結果在介紹演算法之後,要來介紹與它相關的兩個名詞和大O符號(Big O Notation):
大O符號(Big O Notation)它是常用來衡量一段程式碼的演算法複雜性、執行時間(記憶體)的一個符號,在最壞的執行案例中,執行時間不會超過Big-Ο。
那為什麼要使用這個符號去代表演算法的執行時間,而不是直接用毫秒等數字代表...
資料結構 | 就是愛看書
資料結構 | 就是愛看書
資料結構簡介 | 就是愛看書
Day1 | 就是愛看書
目錄:演算法與資料結構 | 就是愛看書
基本資料結構 | 就是愛看書
![](https://i.imgur.com/y8QtHep.jpg)
《微物的總和》開朗文化 978-986-99734-5-8 (EPUB)
《微物的總和》好看嗎?作者伊莉莎白.裘芮-霍爾基特(ElizabethCurrid-Halkett)著;吳緯疆譯由「開朗文化」出版,ISBN:978-98...
![](https://i.imgur.com/y8QtHep.jpg)
《(超素養)物理學測閱讀與探究》龍騰文化 978-986-519-147-4 (平裝, 204面, 30公分)
《(超素養)物理學測閱讀與探究》好看嗎?作者盧政良,簡聿成,莊文治,周靈秀編著由「龍騰文化」出版,ISBN:978-986-519-147-4...
![](https://i.imgur.com/y8QtHep.jpg)
《電路學講義》鼎文資訊 978-986-0720-74-7 (全套:平裝, 30公分)
《電路學講義》好看嗎?作者鼎文師資群編由「鼎文資訊」出版,ISBN:978-986-0720-74-7(全套:平裝,30公分),以下為此書詳細...
![](https://i.imgur.com/y8QtHep.jpg)
《電子學講義》鼎文資訊 978-986-0720-77-8 (全套:平裝, 30公分)
《電子學講義》好看嗎?作者鼎文師資群編由「鼎文資訊」出版,ISBN:978-986-0720-77-8(全套:平裝,30公分),以下為此書詳細...