- 时间复杂度
- 数据结构的使用
- 经典算法思想
- 树的概念与操作
- 搜索的实践与应用
- 动态规划(一)
- 综合训练
初学算法 | 数组的基本操作
算法专题
1、读取元素
(1)方式:访问索引(下标)来读取,索引一般从0开始。
(2)过程:先在内存中为数组申请一段连续的空间,并且会记下索引为0处的内存地址,之后由记下的索引为0处内存地址 + 索引值 = 目标元素的地址,即找到目标元素。
(3)时间复杂度:O(1)
2、查找元素
(1)过程:从数组开头逐步向后查找。如果数组中的某个元素为目标元素,则停止查找;否则继续搜索直到到达数组的末尾。
(2)时间复杂度:O(N),N 为数组的长度。
3、插入元素
(1)末尾插入
(2)首尾间插入用链表省时
4、删除元素
(1)删除掉数组中的某个元素后,数组中会留下空缺的位置,而数组中的元素在内存中是连续的,这就使得后面的元素需对该位置进行填补操作。
(2)时间复杂度:O(N),N 为数组的长度。
注:只考虑最坏情况的时间复杂度
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
MASM中的向前引用(Forward Reference)
美洲象
2024-05-19 14:11:37
[MASM拾遗]Offset伪指令
美洲象
2024-05-19 14:11:37
【Python】强化学习SARSA走迷宫
Dsp Tian
2024-05-19 14:11:07
h28 HTML Javascript
emanlee
2024-05-19 14:10:26
h29 HTML Layouts
emanlee
2024-05-19 14:10:26
h27 HTML Adding Favicon
emanlee
2024-05-19 14:10:26
h30 HTML Layout Elements
emanlee
2024-05-19 14:10:26
h31 HTML Layout using CSS
emanlee
2024-05-19 14:10:26
CSS Cascading Style Sheet
emanlee
2024-05-19 14:10:26
cs04 CSS Measurement Units
emanlee
2024-05-19 14:10:26
cs01 CSS Syntax
emanlee
2024-05-19 14:10:26
cs03 CSS Inclusion
emanlee
2024-05-19 14:10:26
cs02 CSS Selectors
emanlee
2024-05-19 14:10:26
前端使用 Konva 实现可视化设计器(11)- 对齐效果
xachary
2024-05-19 14:07:56