Unify the comment style of python codes

This commit is contained in:
krahets
2023-04-09 05:30:02 +08:00
parent 5ddcb60825
commit 10e2180013
53 changed files with 109 additions and 106 deletions

View File

@ -64,7 +64,7 @@ def find(nums: list[int], target: int) -> int:
return -1
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化数组
arr: list[int] = [0] * 5

View File

@ -47,7 +47,7 @@ def find(head: ListNode, target: int) -> int:
return -1
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化链表
# 初始化各个节点

View File

@ -4,7 +4,7 @@ Created Time: 2022-11-25
Author: Krahets (krahets@163.com)
"""
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化列表
arr: list[int] = [1, 3, 2, 5, 4]

View File

@ -79,7 +79,7 @@ class MyList:
return self.__nums[: self.__size]
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化列表
my_list = MyList()

View File

@ -27,7 +27,7 @@ def two_sum_hash_table(nums: list[int], target: int) -> list[int]:
return []
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# ======= Test Case =======
nums = [2, 7, 11, 15]

View File

@ -73,7 +73,7 @@ def build_tree(n: int) -> TreeNode | None:
return root
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
n = 5
# 常数阶

View File

@ -114,7 +114,7 @@ def factorial_recur(n: int) -> int:
return count
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 可以修改 n 运行,体会一下各种复杂度的操作数量变化趋势
n = 8

View File

@ -26,7 +26,7 @@ def find_one(nums: list[int]) -> int:
return -1
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
for i in range(10):
n: int = 100

View File

@ -69,7 +69,7 @@ class GraphAdjList:
print(f"{vertex.val}: {tmp},")
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化无向图
v = vals_to_vets([1, 3, 2, 5, 4])

View File

@ -84,7 +84,7 @@ class GraphAdjMat:
print_matrix(self.adj_mat)
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化无向图
# 请注意edges 元素代表顶点索引,即对应 vertices 元素索引

View File

@ -35,7 +35,7 @@ def graph_bfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]:
return res
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化无向图
v = vals_to_vets([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

View File

@ -34,7 +34,7 @@ def graph_dfs(graph: GraphAdjList, start_vet: Vertex) -> list[Vertex]:
return res
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化无向图
v = vals_to_vets([0, 1, 2, 3, 4, 5, 6])

View File

@ -77,7 +77,7 @@ class ArrayHashMap:
print(pair.key, "->", pair.val)
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化哈希表
mapp = ArrayHashMap()

View File

@ -9,7 +9,7 @@ import sys, os.path as osp
sys.path.append(osp.dirname(osp.dirname(osp.abspath(__file__))))
from modules import *
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化哈希表
mapp = dict[int, str]()

View File

@ -24,7 +24,7 @@ def test_pop(heap: list, flag: int = 1) -> None:
print_heap([flag * val for val in heap])
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化小顶堆
min_heap, flag = [], 1
@ -35,33 +35,34 @@ if __name__ == "__main__":
# Python 的 heapq 模块默认实现小顶堆
# 考虑将“元素取负”后再入堆,这样就可以将大小关系颠倒,从而实现大顶堆
# 在本示例中flag = 1 时对应小顶堆flag = -1 时对应大顶堆
""" 元素入堆 """
# 元素入堆
test_push(max_heap, 1, flag)
test_push(max_heap, 3, flag)
test_push(max_heap, 2, flag)
test_push(max_heap, 5, flag)
test_push(max_heap, 4, flag)
""" 获取堆顶元素 """
# 获取堆顶元素
peek: int = flag * max_heap[0]
print(f"\n堆顶元素为 {peek}")
""" 堆顶元素出堆 """
# 堆顶元素出堆
test_pop(max_heap, flag)
test_pop(max_heap, flag)
test_pop(max_heap, flag)
test_pop(max_heap, flag)
test_pop(max_heap, flag)
""" 获取堆大小 """
# 获取堆大小
size: int = len(max_heap)
print(f"\n堆元素数量为 {size}")
""" 判断堆是否为空 """
# 判断堆是否为空
is_empty: bool = not max_heap
print(f"\n堆是否为空 {is_empty}")
""" 输入列表并建堆 """
# 输入列表并建堆
# 时间复杂度为 O(n) ,而非 O(nlogn)
min_heap: list[int] = [1, 3, 2, 5, 4]
heapq.heapify(min_heap)

View File

@ -105,7 +105,7 @@ class MaxHeap:
print_heap(self.max_heap)
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化大顶堆
max_heap = MaxHeap([9, 8, 6, 6, 7, 5, 2, 1, 4, 3, 6, 2])

View File

@ -36,7 +36,7 @@ def binary_search1(nums: list[int], target: int) -> int:
return -1 # 未找到目标元素,返回 -1
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
target: int = 6
nums: list[int] = [1, 3, 6, 8, 12, 15, 23, 67, 70, 92]

View File

@ -26,7 +26,7 @@ def hashing_search_linkedlist(
return mapp.get(target, None)
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
target: int = 3

View File

@ -29,7 +29,7 @@ def linear_search_linkedlist(head: ListNode, target: int) -> ListNode | None:
return None # 未找到目标节点,返回 None
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
target: int = 3

View File

@ -33,7 +33,7 @@ def bubble_sort_with_flag(nums: list[int]) -> None:
break # 此轮冒泡未交换任何元素,直接跳出
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
nums: list[int] = [4, 1, 3, 1, 5, 2]
bubble_sort(nums)

View File

@ -6,6 +6,7 @@ Author: Krahets (krahets@163.com)
def bucket_sort(nums: list[float]) -> None:
"""桶排序"""
# 初始化 k = n/2 个桶,预期向每个桶分配 2 个元素
k = len(nums) // 2
buckets = [[] for _ in range(k)]

View File

@ -52,7 +52,7 @@ def counting_sort(nums: list[int]) -> None:
nums[i] = res[i]
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
nums = [1, 0, 1, 2, 0, 4, 0, 2, 2, 4]

View File

@ -18,7 +18,7 @@ def insertion_sort(nums: list[int]) -> None:
nums[j + 1] = base # 2. 将 base 赋值到正确位置
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
nums: list[int] = [4, 1, 3, 1, 5, 2]
insertion_sort(nums)

View File

@ -49,7 +49,7 @@ def merge_sort(nums: list[int], left: int, right: int) -> None:
merge(nums, left, mid, right)
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
nums: list[int] = [7, 3, 2, 6, 0, 1, 5, 4]
merge_sort(nums, 0, len(nums) - 1)

View File

@ -112,7 +112,7 @@ class QuickSortTailCall:
right = pivot - 1 # 剩余待排序区间为 [left, pivot - 1]
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 快速排序
nums: list[int] = [2, 4, 1, 0, 3, 5]

View File

@ -50,7 +50,7 @@ def radix_sort(nums: list[int]) -> None:
exp *= 10
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 基数排序
nums = [

View File

@ -91,7 +91,7 @@ class ArrayDeque:
return res
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化双向队列
deque = ArrayDeque(10)

View File

@ -59,7 +59,7 @@ class ArrayQueue:
return res
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化队列
queue = ArrayQueue(10)

View File

@ -39,7 +39,7 @@ class ArrayStack:
return self.__stack
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化栈
stack = ArrayStack()

View File

@ -6,7 +6,7 @@ Author: Peng Chen (pengchzn@gmail.com)
from collections import deque
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化双向队列
deq: deque[int] = deque()

View File

@ -112,7 +112,7 @@ class LinkedListDeque:
return res
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化双向队列
deque = LinkedListDeque()

View File

@ -66,7 +66,7 @@ class LinkedListQueue:
return queue
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化队列
queue = LinkedListQueue()

View File

@ -58,7 +58,7 @@ class LinkedListStack:
return arr
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化栈
stack = LinkedListStack()

View File

@ -6,7 +6,7 @@ Author: Peng Chen (pengchzn@gmail.com)
from collections import deque
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化队列
# 在 Python 中,我们一般将双向队列类 deque 看作队列使用

View File

@ -4,7 +4,7 @@ Created Time: 2022-11-29
Author: Peng Chen (pengchzn@gmail.com)
"""
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化栈
# Python 没有内置的栈类,可以把 list 当作栈来使用

View File

@ -173,7 +173,7 @@ class AVLTree:
return cur
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
def test_insert(tree: AVLTree, val: int):

View File

@ -136,7 +136,7 @@ class BinarySearchTree:
return root
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化二叉搜索树
nums = list(range(1, 16)) # [1, 2, ..., 15]

View File

@ -10,7 +10,7 @@ sys.path.append(osp.dirname(osp.dirname(osp.abspath(__file__))))
from modules import *
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化二叉树
# 初始化节点

View File

@ -28,7 +28,7 @@ def level_order(root: TreeNode | None) -> list[int]:
return res
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化二叉树
# 这里借助了一个从数组直接生成二叉树的函数

View File

@ -40,7 +40,7 @@ def post_order(root: TreeNode | None) -> None:
res.append(root.val)
""" Driver Code """
"""Driver Code"""
if __name__ == "__main__":
# 初始化二叉树
# 这里借助了一个从数组直接生成二叉树的函数