- 時間複雜度
- 數據結構的使用
- 經典算法思想
- 樹的概念與操作
- 搜索的實踐與應用
- 動態規劃(一)
- 綜合訓練
初學算法 | 數組的基本操作
算法專題
1、讀取元素
(1)方式:訪問索引(下標)來讀取,索引一般從0開始。
(2)過程:先在內存中爲數組申請一段連續的空間,並且會記下索引爲0處的內存地址,之後由記下的索引爲0處內存地址 + 索引值 = 目標元素的地址,即找到目標元素。
(3)時間複雜度:O(1)
2、查找元素
(1)過程:從數組開頭逐步向後查找。如果數組中的某個元素爲目標元素,則停止查找;否則繼續搜索直到到達數組的末尾。
(2)時間複雜度:O(N),N 爲數組的長度。
3、插入元素
(1)末尾插入
(2)首尾間插入用鏈表省時
4、刪除元素
(1)刪除掉數組中的某個元素後,數組中會留下空缺的位置,而數組中的元素在內存中是連續的,這就使得後面的元素需對該位置進行填補操作。
(2)時間複雜度:O(N),N 爲數組的長度。
注:只考慮最壞情況的時間複雜度
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
智能決策新時代:可視化大屏是否能夠超越傳統白板?
葡萄城技術團隊
2024-05-06 14:32:40
如何基於surging跨網關跨語言進行緩存降級
fanly11
2024-05-06 14:31:10
py ftp
hiningrise
2024-05-06 14:27:09
解密Prompt系列28. LLM Agent之金融領域摸索:FinMem & FinAgent
風雨中的小七
2024-05-06 14:24:09
分享幾個.NET開源的AI和LLM相關項目框架
追逐時光
2024-05-06 14:23:58
Spring Boot + 事務鉤子函數,打造高效支付系統!
Java技術棧
2024-05-06 14:23:28
開源電子郵件營銷平臺 listmonk 使用教程
米開朗基楊
2024-05-06 14:23:28
vue3早已具備拋棄虛擬DOM的能力了
你假裝沒察覺
2024-05-06 14:23:16
PHP使用yield 讀取超大型目錄的方法
聞海南
2024-05-06 14:21:36
高效率使用windows
滿天都是小xx
2024-05-06 14:15:05
如何用費曼技巧快速學習任何東西
.net's
2024-05-06 14:15:05
9大關於生產力的錯誤認知
.net's
2024-05-06 14:15:05
如何高效使用 Todoist — 完整指南
.net's
2024-05-06 14:15:05
springboot~CompletableFuture並行計算
張佔嶺
2024-05-06 14:14:35