Fix array.md

This commit is contained in:
Yudong Jin 2022-12-09 21:47:24 +08:00
parent c20cfe5ae8
commit c8336df86d
4 changed files with 24 additions and 47 deletions

View File

@ -277,7 +277,7 @@ elementAddr = firtstElementAddr + elementLength * elementIndex
**数组中插入或删除元素效率低下。** 假设我们想要在数组中间某位置插入一个元素,由于数组元素在内存中是 “紧挨着的” ,它们之间没有空间再放任何数据。因此,我们不得不将此索引之后的所有元素都向后移动一位,然后再把元素赋值给该索引。删除元素也是类似,需要把此索引之后的元素都向前移动一位。总体看有以下缺点: **数组中插入或删除元素效率低下。** 假设我们想要在数组中间某位置插入一个元素,由于数组元素在内存中是 “紧挨着的” ,它们之间没有空间再放任何数据。因此,我们不得不将此索引之后的所有元素都向后移动一位,然后再把元素赋值给该索引。删除元素也是类似,需要把此索引之后的元素都向前移动一位。总体看有以下缺点:
- **时间复杂度高:** 数组的插入和删除的平均时间复杂度均为 $O(N)$ ,其中 $N$ 为数组长度。 - **时间复杂度高:** 数组的插入和删除的平均时间复杂度均为 $O(N)$ ,其中 $N$ 为数组长度。
- **丢失元素** 由于数组的长度不可变,因此在插入元素后,数组原来的末尾元素会丢失。 - **丢失元素** 由于数组的长度不可变,因此在插入元素后,超出数组长度范围的元素会被丢失。
- **内存浪费:** 我们一般会初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元素都是我们不关心的,但这样做同时也会造成内存空间的浪费。 - **内存浪费:** 我们一般会初始化一个比较长的数组,只用前面一部分,这样在插入数据时,丢失的末尾元素都是我们不关心的,但这样做同时也会造成内存空间的浪费。
![array_insert_remove_element](array.assets/array_insert_remove_element.png) ![array_insert_remove_element](array.assets/array_insert_remove_element.png)

View File

@ -10,4 +10,4 @@ comments: true
<p align="center"> 力扣LeetCode全网阅读量最高博主 </p> <p align="center"> 力扣LeetCode全网阅读量最高博主 </p>
<p align="center"> 分享近百道算法题解,累积回复数千读者的评论问题 </p> <p align="center"> 分享近百道算法题解,累积回复数千读者的评论问题 </p>
<p align="center"> 创作 LeetBook《图解算法数据结构》已免费售出 21 万本 </p> <p align="center"> 创作 LeetBook《图解算法数据结构》已免费售出 22 万本 </p>

View File

@ -6,7 +6,7 @@ comments: true
「冒泡排序 Bubble Sort」是一种最基础的排序算法非常适合作为第一个学习的排序算法。顾名思义「冒泡」是该算法的核心操作。 「冒泡排序 Bubble Sort」是一种最基础的排序算法非常适合作为第一个学习的排序算法。顾名思义「冒泡」是该算法的核心操作。
!!! tip "为什么叫 “冒泡”" !!! question "为什么叫 “冒泡”"
在水中,越大的泡泡浮力越大,所以最大的泡泡会最先浮到水面。 在水中,越大的泡泡浮力越大,所以最大的泡泡会最先浮到水面。

View File

@ -1,23 +0,0 @@
# 更新日志
| 更新内容 | 日期 |
| ------------ | ---------- |
| 新增:算法无处不在 | 2022-10-10 |
| 新增:数组与链表 | 2022-10-15 |
| 新增:数据结构简介 | 2022-10-20 |
| 新增:前言 | 2022-10-23 |
| 新增:计算复杂度 | 2022-11-03 |
| 更新:配图 | 2022-11-04 |
| 新增:数据与内存 | 2022-11-05 |
| 更新:各章节 Java 代码 | 2022-11-06 |
| 更新:列表 Java 代码、配图 | 2022-11-07 |
| 新增:栈与队列 | 2022-11-09 |
| 新增:树 | 2022-11-12 |
| 新增:二叉搜索树</br>更新:二叉树、表格居中 | 2022-11-13 |
| 更新:二叉搜索树 | 2022-11-14 |
| 更新:首页介绍 | 2022-11-15 |
| 更新:关于本书</br>新增:如何使用本书</br>新增:一起参与创作 | 2022-11-16 |
| 新增:查找算法 | 2022-11-19 |
| 更新Markdown Stylesheet</br>新增:冒泡排序、插入排序 | 2022-11-21 |
| 新增:快速排序 | 2022-11-22 |
| 新增:归并排序,更新:快速排序、关于本书 | 2022-11-23 |