-
+
3. 数据结构
@@ -860,7 +860,7 @@
-
+
4. 数组与链表
@@ -981,6 +981,13 @@
4.2.4. 常见链表类型
+
+
+
+
+ 4.2.5. 链表典型应用
+
+
@@ -2326,7 +2333,7 @@
-
+
12. 分治
@@ -3159,6 +3166,13 @@
4.2.4. 常见链表类型
+
+
+
+
+ 4.2.5. 链表典型应用
+
+
@@ -4224,6 +4238,25 @@

Fig. 常见链表种类
+4.2.5. 链表典型应用
+单向链表通常用于实现栈、队列、散列表和图等数据结构。
+
+- 栈与队列:当插入和删除操作都在链表的一端进行时,它表现出先进后出的的特性,对应栈;当插入操作在链表的一端进行,删除操作在链表的另一端进行,它表现出先进先出的特性,对应队列。
+- 散列表:链地址法是解决哈希冲突的主流方案之一,在该方案中,所有冲突的元素都会被放到一个链表中。
+- 图:邻接表是表示图的一种常用方式,在其中,图的每个顶点都与一个链表相关联,链表中的每个元素都代表与该顶点相连的其他顶点。
+
+双向链表常被用于需要快速查找前一个和下一个元素的场景。
+
+- 高级数据结构:比如在红黑树、B 树中,我们需要知道一个节点的父节点,这可以通过在节点中保存一个指向父节点的指针来实现,类似于双向链表。
+- 浏览器历史:在网页浏览器中,当用户点击前进或后退按钮时,浏览器需要知道用户访问过的前一个和后一个网页。双向链表的特性使得这种操作变得简单。
+- LRU 算法:在缓存淘汰算法(LRU)中,我们需要快速找到最近最少使用的数据,以及支持快速地添加和删除节点。这时候使用双向链表就非常合适。
+
+循环链表常被用于需要周期性操作的场景,比如操作系统的资源调度。
+
+- 时间片轮转调度算法:在操作系统中,时间片轮转调度算法是一种常见的 CPU 调度算法,它需要对一组进程进行循环。每个进程被赋予一个时间片,当时间片用完时,CPU 将切换到下一个进程。这种循环的操作就可以通过循环链表来实现。
+- 数据缓冲区:在某些数据缓冲区的实现中,也可能会使用到循环链表。比如在音频、视频播放器中,数据流可能会被分成多个缓冲块并放入一个循环链表,以便实现无缝播放。
+
+
diff --git a/chapter_array_and_linkedlist/list/index.html b/chapter_array_and_linkedlist/list/index.html
index 379f1c555..e56efc969 100644
--- a/chapter_array_and_linkedlist/list/index.html
+++ b/chapter_array_and_linkedlist/list/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -860,7 +860,7 @@
-
+
4. 数组与链表
@@ -2312,7 +2312,7 @@
-
+
12. 分治
diff --git a/chapter_array_and_linkedlist/summary/index.html b/chapter_array_and_linkedlist/summary/index.html
index ad86e60c5..fb17636b0 100644
--- a/chapter_array_and_linkedlist/summary/index.html
+++ b/chapter_array_and_linkedlist/summary/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -860,7 +860,7 @@
-
+
4. 数组与链表
@@ -2305,7 +2305,7 @@
-
+
12. 分治
diff --git a/chapter_backtracking/backtracking_algorithm/index.html b/chapter_backtracking/backtracking_algorithm/index.html
index 9f566ed4e..6da51447b 100644
--- a/chapter_backtracking/backtracking_algorithm/index.html
+++ b/chapter_backtracking/backtracking_algorithm/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2256,7 +2256,7 @@
-
+
12. 分治
diff --git a/chapter_backtracking/index.html b/chapter_backtracking/index.html
index 906beda7d..0866ff12a 100644
--- a/chapter_backtracking/index.html
+++ b/chapter_backtracking/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2256,7 +2256,7 @@
-
+
12. 分治
diff --git a/chapter_backtracking/n_queens_problem/index.html b/chapter_backtracking/n_queens_problem/index.html
index 07c1dcc8f..bcc1bf98c 100644
--- a/chapter_backtracking/n_queens_problem/index.html
+++ b/chapter_backtracking/n_queens_problem/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2256,7 +2256,7 @@
-
+
12. 分治
diff --git a/chapter_backtracking/permutations_problem/index.html b/chapter_backtracking/permutations_problem/index.html
index 20db37c44..bc8cb4a41 100644
--- a/chapter_backtracking/permutations_problem/index.html
+++ b/chapter_backtracking/permutations_problem/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2256,7 +2256,7 @@
-
+
12. 分治
diff --git a/chapter_backtracking/subset_sum_problem/index.html b/chapter_backtracking/subset_sum_problem/index.html
index 3751edc4e..606de45e3 100644
--- a/chapter_backtracking/subset_sum_problem/index.html
+++ b/chapter_backtracking/subset_sum_problem/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2256,7 +2256,7 @@
-
+
12. 分治
diff --git a/chapter_backtracking/summary/index.html b/chapter_backtracking/summary/index.html
index 686489713..7d74bf410 100644
--- a/chapter_backtracking/summary/index.html
+++ b/chapter_backtracking/summary/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2256,7 +2256,7 @@
-
+
12. 分治
diff --git a/chapter_computational_complexity/index.html b/chapter_computational_complexity/index.html
index 28bb9d8e0..3fe9feb4d 100644
--- a/chapter_computational_complexity/index.html
+++ b/chapter_computational_complexity/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -693,7 +693,7 @@
-
+
3. 数据结构
@@ -860,7 +860,7 @@
-
+
4. 数组与链表
@@ -2258,7 +2258,7 @@
-
+
12. 分治
diff --git a/chapter_computational_complexity/performance_evaluation/index.html b/chapter_computational_complexity/performance_evaluation/index.html
index 3c34f001d..1c72b0624 100644
--- a/chapter_computational_complexity/performance_evaluation/index.html
+++ b/chapter_computational_complexity/performance_evaluation/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -774,7 +774,7 @@
-
+
3. 数据结构
@@ -941,7 +941,7 @@
-
+
4. 数组与链表
@@ -2339,7 +2339,7 @@
-
+
12. 分治
diff --git a/chapter_computational_complexity/space_complexity/index.html b/chapter_computational_complexity/space_complexity/index.html
index 5951cb8ce..8d7c7eefb 100644
--- a/chapter_computational_complexity/space_complexity/index.html
+++ b/chapter_computational_complexity/space_complexity/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -802,7 +802,7 @@
-
+
3. 数据结构
@@ -969,7 +969,7 @@
-
+
4. 数组与链表
@@ -2367,7 +2367,7 @@
-
+
12. 分治
diff --git a/chapter_computational_complexity/summary/index.html b/chapter_computational_complexity/summary/index.html
index a262f412e..93c4222e5 100644
--- a/chapter_computational_complexity/summary/index.html
+++ b/chapter_computational_complexity/summary/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -740,7 +740,7 @@
-
+
3. 数据结构
@@ -907,7 +907,7 @@
-
+
4. 数组与链表
@@ -2305,7 +2305,7 @@
-
+
12. 分治
diff --git a/chapter_computational_complexity/time_complexity/index.html b/chapter_computational_complexity/time_complexity/index.html
index 3003a039e..1735ea4a7 100644
--- a/chapter_computational_complexity/time_complexity/index.html
+++ b/chapter_computational_complexity/time_complexity/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -850,7 +850,7 @@
-
+
3. 数据结构
@@ -1017,7 +1017,7 @@
-
+
4. 数组与链表
@@ -2415,7 +2415,7 @@
-
+
12. 分治
diff --git a/chapter_data_structure/basic_data_types/index.html b/chapter_data_structure/basic_data_types/index.html
index 74eb6e530..6a4c0a959 100644
--- a/chapter_data_structure/basic_data_types/index.html
+++ b/chapter_data_structure/basic_data_types/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -693,7 +693,7 @@
-
+
3. 数据结构
@@ -870,7 +870,7 @@
-
+
4. 数组与链表
@@ -2268,7 +2268,7 @@
-
+
12. 分治
diff --git a/chapter_data_structure/character_encoding/index.html b/chapter_data_structure/character_encoding/index.html
index 6156e89a7..3c717c417 100644
--- a/chapter_data_structure/character_encoding/index.html
+++ b/chapter_data_structure/character_encoding/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -693,7 +693,7 @@
-
+
3. 数据结构
@@ -935,7 +935,7 @@
-
+
4. 数组与链表
@@ -2333,7 +2333,7 @@
-
+
12. 分治
diff --git a/chapter_data_structure/classification_of_data_structure/index.html b/chapter_data_structure/classification_of_data_structure/index.html
index c06dddf51..be4988573 100644
--- a/chapter_data_structure/classification_of_data_structure/index.html
+++ b/chapter_data_structure/classification_of_data_structure/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -693,7 +693,7 @@
-
+
3. 数据结构
@@ -914,7 +914,7 @@
-
+
4. 数组与链表
@@ -2312,7 +2312,7 @@
-
+
12. 分治
diff --git a/chapter_data_structure/index.html b/chapter_data_structure/index.html
index de647fc8f..1bb197eeb 100644
--- a/chapter_data_structure/index.html
+++ b/chapter_data_structure/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -693,7 +693,7 @@
-
+
3. 数据结构
@@ -860,7 +860,7 @@
-
+
4. 数组与链表
@@ -2258,7 +2258,7 @@
-
+
12. 分治
diff --git a/chapter_data_structure/number_encoding/index.html b/chapter_data_structure/number_encoding/index.html
index 4c4f23a5f..9d7567482 100644
--- a/chapter_data_structure/number_encoding/index.html
+++ b/chapter_data_structure/number_encoding/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -693,7 +693,7 @@
-
+
3. 数据结构
@@ -914,7 +914,7 @@
-
+
4. 数组与链表
@@ -2312,7 +2312,7 @@
-
+
12. 分治
diff --git a/chapter_data_structure/summary/index.html b/chapter_data_structure/summary/index.html
index 8a83a8e2d..a959932b5 100644
--- a/chapter_data_structure/summary/index.html
+++ b/chapter_data_structure/summary/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -693,7 +693,7 @@
-
+
3. 数据结构
@@ -907,7 +907,7 @@
-
+
4. 数组与链表
@@ -2305,7 +2305,7 @@
-
+
12. 分治
diff --git a/chapter_divide_and_conquer/binary_search_recur/index.html b/chapter_divide_and_conquer/binary_search_recur/index.html
index 340a24e73..8c8f7ecb9 100644
--- a/chapter_divide_and_conquer/binary_search_recur/index.html
+++ b/chapter_divide_and_conquer/binary_search_recur/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2258,7 +2258,7 @@
-
+
12. 分治
diff --git a/chapter_divide_and_conquer/build_binary_tree_problem/index.html b/chapter_divide_and_conquer/build_binary_tree_problem/index.html
index c29abde1c..9b03027bb 100644
--- a/chapter_divide_and_conquer/build_binary_tree_problem/index.html
+++ b/chapter_divide_and_conquer/build_binary_tree_problem/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2258,7 +2258,7 @@
-
+
12. 分治
diff --git a/chapter_divide_and_conquer/divide_and_conquer/index.html b/chapter_divide_and_conquer/divide_and_conquer/index.html
index e82e466c8..bd2de4528 100644
--- a/chapter_divide_and_conquer/divide_and_conquer/index.html
+++ b/chapter_divide_and_conquer/divide_and_conquer/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2258,7 +2258,7 @@
-
+
12. 分治
diff --git a/chapter_divide_and_conquer/hanota_problem/index.html b/chapter_divide_and_conquer/hanota_problem/index.html
index c1a6f1a18..ac1369a9d 100644
--- a/chapter_divide_and_conquer/hanota_problem/index.html
+++ b/chapter_divide_and_conquer/hanota_problem/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2258,7 +2258,7 @@
-
+
12. 分治
diff --git a/chapter_divide_and_conquer/index.html b/chapter_divide_and_conquer/index.html
index f83ed273c..55d56d5d9 100644
--- a/chapter_divide_and_conquer/index.html
+++ b/chapter_divide_and_conquer/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2258,7 +2258,7 @@
-
+
12. 分治
diff --git a/chapter_divide_and_conquer/summary/index.html b/chapter_divide_and_conquer/summary/index.html
index dcc998c51..3fc80caac 100644
--- a/chapter_divide_and_conquer/summary/index.html
+++ b/chapter_divide_and_conquer/summary/index.html
@@ -415,7 +415,7 @@
-
+
1. 初识算法
@@ -691,7 +691,7 @@
-
+
3. 数据结构
@@ -858,7 +858,7 @@
-
+
4. 数组与链表
@@ -2258,7 +2258,7 @@
-
+
12. 分治
diff --git a/chapter_dynamic_programming/dp_problem_features/index.html b/chapter_dynamic_programming/dp_problem_features/index.html
index 81f926992..949139d29 100644
--- a/chapter_dynamic_programming/dp_problem_features/index.html
+++ b/chapter_dynamic_programming/dp_problem_features/index.html
@@ -415,7 +415,7 @@
-