算法
Massacre96Wj
这个作者很懒,什么都没留下…
展开
-
python实现Kmeans
Kmeans原创 2022-06-08 17:32:54 · 74 阅读 · 0 评论 -
python约瑟夫环问题
约瑟夫环原创 2022-06-14 15:23:29 · 133 阅读 · 0 评论 -
动态规划问题
1、最长递增子序列 def LIS(nums): # dp[i]表示以nums[i]结尾的最长递增子序列 res = 0 length = len(nums) if length<2: return length dp = [1 for _ in range(length)] for i in range(length): for j in range(i): if nums[i] > nums[j]: dp[i] = max(dp[i原创 2022-05-23 19:04:41 · 62 阅读 · 0 评论 -
快排partition
快速排序partition函数 def partition(arr, left, right): ''' 左右遍历 返回pivot的位置索引 ''' pivot = arr[left] while left < right: while left < right and arr[right] > pivot: right -= 1 arr[left] = arr[right] while left < right and a原创 2022-05-19 17:27:56 · 97 阅读 · 0 评论 -
Dijkstra算法
Dijkstra算法 def Dijkstra(start): ''' 1、初始化起点start到其他点距离 distance={},并初始化已经计算过的 visited=set(); 2、获取距离起点start最近的一个点 next,遍历next的邻居节点 neighbors; 3、if distance[neighbors[i]] < distance[next] + martix[next][neighbors[i]],则更新 4、重复计算,直到visited包含所有的节点原创 2022-05-19 16:15:27 · 68 阅读 · 0 评论 -
并查集实现
python 实现并查集,复杂度常数级别 class UnionFind(object): def __init__(self, n) -> None: # 存储x节点的祖先节点 self.parent = [i for i in range(n)] # 存储当前节点的深度 self.rank = n * [1] def find(self, x): '''寻找x的祖先节点''' if x == self.parent[x]: re原创 2022-05-19 15:15:37 · 58 阅读 · 0 评论