- 博客(5)
- 收藏
- 关注
原创 快速排序算法思路
快速排序的思想是分治和递归观察一个有序的数列可以发现一个特点:有序数列中任意一个数,它左边的数一定小于等于它,它右边的数一定大于等于它,比如1, 2, 3, 3, 3, 4, 5,中间那个3,前面的三个数小于等于3,后面的数大于等于3。那么利用这个特点,只要我们能让一个数列中任意一个数都满足这样的条件:它前面的数小于等于它,后面的数大于等于它。那么整个数列就是一个有序的数列。
2023-02-27 09:58:39
901
原创 弗洛伊德(Floyd)算法 python实现
弗洛伊德(Floyd)算法1.算法原理算法使用距离矩阵和路由矩阵。距离矩阵是一个n×nn \times nn×n矩阵,以图GGG的nnn个节点为行和列。记为W=[wij]n×nW=[w_{ij}]_{n\times n}W=[wij]n×n,wijw_{ij}wij表示图GGG中viv_ivi和vjv_jvj两点之间的路径长度。接点则记录最后一个)。路由矩阵是一个n×nn\times nn×n矩阵,以图G的n个节点为行和列。记为R=[rij]n×nR =[r_{ij}]_{n\times
2022-05-21 11:16:52
8093
9
原创 狄克斯特拉(Dijkstra)算法python实现
狄克斯特拉(Dijkstra)算法1.算法原理已知图G=(V,E)G=(V,E)G=(V,E),将其节点集分为两组:置定节点集GpG_pGp和未置定节点集G−GpG-G_pG−Gp。其中GpG_pGp内的所有置定节点,是指定点vsv_svs到这些节点的路径为最短(即已完成最短路径的计算)的节点。而G−GpG-G_pG−Gp内的节点是未置定节点,即vsv_svs到未置定节点距离是暂时的,随着算法的下一步将进行不断调整,使其成为最短径。在调整各未置定节点的最短径时,是将GpG_pGp中的节点
2022-05-20 17:39:42
1775
原创 python实现全排列(递归和循环)
1.利用itertools库中的permutations方法import itertools# 利用itertools库中的permutations函数,给定一个排列,输出他的全排列def allPermutation(n): permutation = [] # 首先需要初始化一个1-n的排列 for i in range(n): permutation.append(i+1) # itertools.permutations返回的只是一个对象
2022-05-11 17:41:18
11754
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人