This commit is contained in:
krahets
2023-02-26 19:22:52 +08:00
parent 8e0872643c
commit cf26cd551a
17 changed files with 20 additions and 42 deletions

View File

@@ -12,8 +12,6 @@ comments: true
双向队列的常用操作见下表,方法名需根据特定语言来确定。
<p align="center"> Table. 双向队列的常用操作 </p>
<div class="center-table" markdown>
| 方法名 | 描述 | 时间复杂度 |
@@ -304,7 +302,7 @@ comments: true
我们将双向链表的头结点和尾结点分别看作双向队列的队首和队尾,并且实现在两端都能添加与删除结点。
=== "LinkedListDeque"
![linkedlist_deque](deque.assets/linkedlist_deque.png)
![基于链表实现双向队列的入队出队操作](deque.assets/linkedlist_deque.png)
=== "pushLast()"
![linkedlist_deque_push_last](deque.assets/linkedlist_deque_push_last.png)
@@ -880,7 +878,7 @@ comments: true
与基于数组实现队列类似,我们也可以使用环形数组来实现双向队列。在实现队列的基础上,增加实现“队首入队”和“队尾出队”方法即可。
=== "ArrayDeque"
![array_deque](deque.assets/array_deque.png)
![基于数组实现双向队列的入队出队操作](deque.assets/array_deque.png)
=== "pushLast()"
![array_deque_push_last](deque.assets/array_deque_push_last.png)

View File

@@ -14,8 +14,6 @@ comments: true
队列的常用操作见下表,方法名需根据特定语言来确定。
<p align="center"> Table. 队列的常用操作 </p>
<div class="center-table" markdown>
| 方法名 | 描述 | 时间复杂度 |
@@ -269,7 +267,7 @@ comments: true
我们将链表的「头结点」和「尾结点」分别看作是队首和队尾,并规定队尾只可添加结点,队首只可删除结点。
=== "LinkedListQueue"
![linkedlist_queue](queue.assets/linkedlist_queue.png)
![基于链表实现队列的入队出队操作](queue.assets/linkedlist_queue.png)
=== "push()"
![linkedlist_queue_push](queue.assets/linkedlist_queue_push.png)
@@ -940,7 +938,7 @@ comments: true
观察发现,入队与出队操作都仅需单次操作即可完成,时间复杂度皆为 $O(1)$ 。
=== "ArrayQueue"
![array_queue](queue.assets/array_queue.png)
![基于数组实现队列的入队出队操作](queue.assets/array_queue.png)
=== "push()"
![array_queue_push](queue.assets/array_queue_push.png)

View File

@@ -16,8 +16,6 @@ comments: true
栈的常用操作见下表(方法命名以 Java 为例)。
<p align="center"> Table. 栈的常用操作 </p>
<div class="center-table" markdown>
| 方法 | 描述 | 时间复杂度 |
@@ -272,7 +270,7 @@ comments: true
对于入栈操作,将元素插入到链表头部即可,这种结点添加方式被称为“头插法”。而对于出栈操作,则将头结点从链表中删除即可。
=== "LinkedListStack"
![linkedlist_stack](stack.assets/linkedlist_stack.png)
![基于链表实现栈的入栈出栈操作](stack.assets/linkedlist_stack.png)
=== "push()"
![linkedlist_stack_push](stack.assets/linkedlist_stack_push.png)
@@ -849,7 +847,7 @@ comments: true
使用「数组」实现栈时,考虑将数组的尾部当作栈顶。这样设计下,「入栈」与「出栈」操作就对应在数组尾部「添加元素」与「删除元素」,时间复杂度都为 $O(1)$ 。
=== "ArrayStack"
![array_stack](stack.assets/array_stack.png)
![基于数组实现栈的入栈出栈操作](stack.assets/array_stack.png)
=== "push()"
![array_stack_push](stack.assets/array_stack_push.png)