
python数据结构与算法
陨星落云
这个作者很懒,什么都没留下…
展开
-
Python包 - networkx
Python包 - networkxnetworkx是Python的一个包,用于构建和操作复杂的图结构,提供分析图的算法。图是由顶点、边和可选的属性构成的数据结构,顶点表示数据,边是由两个顶点唯一确定的,表示两个顶点之间的关系。顶点和边也可以拥有更多的属性,以存储更多的信息。对于networkx创建的无向图,允许一条边的两个顶点是相同的,即允许出现自循环,但是不允许两个顶点之间存在多条边,即出...转载 2020-05-01 12:16:25 · 1091 阅读 · 0 评论 -
NetworkX创建图节点并添加边
In [1]: import networkx as nxIn [3]: import matplotlib.pyplot as pltIn [4]: G = nx.Graph()In [5]: G.add_nodes_from([1,2,3])In [6]: nx.draw_networkx(G);plt.show()两种添加单边的方法In [7]: G.add_edg...原创 2020-05-01 11:59:51 · 3450 阅读 · 0 评论 -
不同阶段的求和方法(python)
普通人1+2+3+...+n学过数学的人(1+n)*n/2会调用函数的人sum([1,2,3])会循环的人sum = 0list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]for x in list: sum = sum + xprint(sum)会递归的人# 递归求和def listSum(arr): if arr == ...原创 2020-01-22 12:00:32 · 552 阅读 · 0 评论 -
递归函数练习
递归求和# 递归求和def listSum(arr): if arr == []: return 0 else: return arr[0] + sum(arr[1:])print(listSum([2,4,6]))递归求列表中的元素数# 递归求列表中的元素数def listCount(arr): if arr == []:...原创 2019-12-21 13:42:01 · 300 阅读 · 1 评论 -
递归函数
递归函数"""递归函数:基线条件和递归条件 递归条件:函数调用自己。 基线条件:是函数结束循环,避免无限循环"""# 倒计时def countdown(i): print(i) if i <= 1: return else: countdown(i-1)countdown(3)# 栈def gree...原创 2019-12-21 10:55:57 · 223 阅读 · 0 评论 -
选择排序
选择排序def findSmallest(arr): smallest = arr[0] smallest_index = 0 for i in range(1,len(arr)): if arr[i] < smallest: smallest = arr[i] smallest_index = i ...原创 2019-12-20 16:44:13 · 275 阅读 · 0 评论 -
二分查找
二分查找def binary_search(list,item): count = 0 low = 0 high = len(list) - 1 while low <= high: mid = int((low+high)/2) count +=1 #print('mid:%s'%mid) g...原创 2019-12-20 15:14:52 · 190 阅读 · 0 评论 -
迭代法(逐次逼近法)
迭代法(逐次逼近法)在线性代数中我们常看到方程组被写为这样的形式:Ax=bAx=bAx=b其中A是非奇异矩阵(行列式不等于0)。本科阶段,我们求解的方程组阶数都不高,一般使用主元消去法求解。但对于A的阶数很大,而且零元素很多的大型稀疏矩阵方程组,例如,训练一个包含几十MB乃至几百MB的数据集时,主元消去法就显得力不从心了,而一般要选用逐次逼近法(或称为迭代法)求解。为了便于说明,下面我...原创 2019-11-22 12:41:33 · 9377 阅读 · 0 评论 -
Numpy之线性代数
文章目录矩阵1. 矩阵初始化2. 矩阵元素运算3. 矩阵的乘法4. 矩阵的转置5. 矩阵对应列行的最大值,最小值,和6. 矩阵的其他操作:行列数、切片、复制、比较7. 矩阵的行列式8. 矩阵的逆和伪逆9. 矩阵的对称10. 矩阵的秩11. 可逆矩阵的求解12. 矩阵的特征值与特征向量(EVD)13. 奇异值分解(SVD)矩阵1. 矩阵初始化Numpy函数库中存在两种不同的数据类型(矩阵mat...原创 2019-10-07 16:24:27 · 756 阅读 · 0 评论 -
逗号代码,字符图网格
逗号代码假定有下面这样的列表:spam = ['apples', 'bananas', 'tofu', 'cats'] 编写一个函数,它以一个列表值作为参数,返回一个字符串。该字符串包含所有表项,表项之间以逗号和空格分隔,并在最后一个表项之前插入 and。例如,将前面的 spam 列表传递给函数,将返回’apples, bananas, tofu, and cats’。但你的函数应该能够处...原创 2019-09-23 09:02:06 · 358 阅读 · 0 评论 -
Collatz 序列
Collatz 序列 编写一个名为 collatz()的函数,它有一个名为 number 的参数。如果参数是偶数,那么 collatz()就打印出 number // 2,并返回该值。如果 number 是奇数,collatz()就打印并返回 3 * number + 1。 然后编写一个程序,让用户输入一个整数,并不断对这个数调用 collatz(),直到函数返回...原创 2019-09-14 23:17:37 · 514 阅读 · 0 评论 -
aabb,3n+1问题,阶乘之和
例题2-1:aabb输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)。【分析】我们枚举所有可能的a a b b ,然后判断它们是否为完全平方数。注意,a 的范围是1〜 9 , 但 b 可以是0。7744问题(1)如何判断n 是否为完全平方数?我们用过“开平方”函数,可以先求出它的平方根,然后看它是否为整数,即用一个double型变量m 储存sqrt(n), 然后...原创 2019-05-30 23:42:56 · 519 阅读 · 0 评论 -
圆柱体的表面积,三位数反转,交换变量
例题1-1:圆柱体的表面积输入底面半径r和高h,输出圆柱体的表面积,保留3位小数,格式见样例。样例输入: r=3.5,h= 9样例输出:圆柱体的表面积=274889【分析】圆柱体的表面积由3部分组成:上底面积、下底面积和侧面积。由于上下底面积相等,完整的公式可以写成:表面积=底面积×2+侧面积。根据平面几何知识,底面积=πr2πr^2πr2,侧面积=2πrh2πrh2πrh。不难写出完...原创 2019-05-28 10:11:17 · 1023 阅读 · 0 评论 -
鸡兔同笼,三整数排序
例题1-4:鸡兔同笼已知鸡和兔的总数量为n,总腿数为m。输入n和m,依次输出鸡的数目和兔的数目。如果无解,则输出“ No answer”(不要引号)。样例输入:1432样例输出:12样例输入:1016样例输出: No answer【分析】设鸡有a只,兔有b只,则a+b=m,2a+4b=m,联立解得a=(4n-m)/2,b=n-a。在什么情况下此解“不算数”呢?首先,a和b都是整数:其...原创 2019-05-30 11:27:31 · 553 阅读 · 0 评论