Python Coding
文章平均质量分 66
Jark_
Email:malexjark@gmail.com
展开
-
Python - 常用的几种排序算法总结
总结一下几种常见的排序算法先做一个整体比较: 排序法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n2)O(n^2) O(n2)O(n^2) 稳定 O(1)O(1) n小时较好 交换 O(n2)O(n^2) O(n2)O(n^2) 不稳定 O(1)O(1) n小时较好 选择 O(n2)O(n^2) O(n2)原创 2017-08-04 10:23:36 · 1264 阅读 · 0 评论 -
Python - 实现深度优先搜索DFS(以迷宫解救为例子)
算法描述:给定开始点坐标(x,y) 和终点坐标(p,q),在一个二维数组里面,其中1代表障碍物,0则没有。求开始到终点的最短距离。代码如下:MIN = 9999999a = [[0 for col in range(50)] for row in range(50)]#迷宫最大数组 book = [[0 for col in range(50)] for row in range(50)]#标记数组原创 2017-08-24 16:44:31 · 9649 阅读 · 0 评论 -
Python - 实现Stacks 和Queues
python没有像C++那样的struct 来实现栈 和队列,但是可以用deque来实现栈和队列,当然,栈也可以用最简单的list来实现。实现 Stacks 用lists实现Stacks The list methods make it very easy to use a list as a stack, where the last element added is the first e原创 2017-08-25 10:20:03 · 885 阅读 · 0 评论 -
Python - 实现广度优先搜索BFS(以迷宫解救为例子)
算法描述:给定开始点坐标(x,y) 和终点坐标(p,q),在一个二维数组里面,其中1代表障碍物,0则没有。求开始到终点的最短距离。代码如下:from collections import deque############ 初始化队列 x = deque([]) #x 代表横坐标 y = deque([]) #y 代表纵坐标 s = deque([]) #s 代表步长#初始化迷宫最大值和标记数组 a原创 2017-08-25 11:31:43 · 5535 阅读 · 0 评论 -
Python - 实现约瑟夫环问题
算法集锦,持续更新中。。。 猴子选大王(约瑟夫环问题) 算法描述:m只猴子围坐成一个圈,按顺时针方向从1到m编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到n的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王。代码如下: def king(m,n): last = 0 for i in range(2,m+1):原创 2017-08-10 17:18:28 · 1627 阅读 · 0 评论 -
Python - 实现简单单链表
代码如下:class Node(): def __init__(self,pvalue,pnext = None): self.pvalue = pvalue self.pnext = pnextdef CreateLinkedList(n): if n <= 0 : return False if n == 1 :原创 2017-08-22 16:18:15 · 466 阅读 · 0 评论 -
Python - 实现三位数加三位数等于三位数问题(dfs)
算法描述:将1-9放入9个盒子中,使其满足XXX + XXX = XXX,请问有多少种情况(去重)?算法实现:采用了dfs的核心思想a = [0] * 9 book = [0] * 9 TOTAL = 0def dfs(step): if (step == len(a)): con1 = a[0] * 100 + a[1] * 10 + a[2] con2 =原创 2017-08-24 15:05:26 · 1599 阅读 · 0 评论 -
Python - Tricks
纪念那些年Python遇到的坑。。。1. remove 列表元素var = ['a','b','c','d','e'] for col in var: print('{0} is processing.'.format(col)) var.remove(col)Result: a is processing. c is processing. e is process原创 2017-08-18 14:40:07 · 363 阅读 · 0 评论