![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题漫漫路
lulin916
这个作者很懒,什么都没留下…
展开
-
001 汉诺塔游戏
三个塔座A、B、C上各有一根针,通过B把64个盘子从A针移动到C针,移动时必须遵循下列规则:(1)圆盘可以插入在A、B或C塔座的针上;(2)每次只能移动一个圆盘;(3)任何时刻都不能将一个较大的圆盘压在较小的圆盘之上。def hanoi(a, b, c, n): if n == 1: print(a, '->', c) else: h...原创 2018-11-09 18:55:21 · 485 阅读 · 0 评论 -
004 排序(冒泡&快排)
1. 冒泡排序(Bubble Sort)冒泡排序是一种交换排序。基本思想:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。① 初级版嵌套循环。i=0,j从后往前循环,逐个与前一个值作比较,将较小值交换到前面,直到找到最小值放在了第1的位置,接着继续下一轮循环(i += 1)。② 优化版若某次循环(i)中已无数据交换,则不需要继续下轮循环。设置flag。若...原创 2019-02-23 17:02:10 · 231 阅读 · 0 评论 -
动态规划(DP)算法
https://blog.csdn.net/MrLevo520/article/details/75676160动态规划:动态规划先解决子问题,再逐步解决大问题。背包问题:假设你是一个小偷,背着一个可装4磅东西的背包。可偷窃的商品有如下3件,为了让盗窃的商品价值最高,你该选择哪些商品?商品种类价值重量音响3000美元4磅笔记本电脑2000美元3磅吉他...原创 2019-01-03 11:20:44 · 2673 阅读 · 0 评论 -
深度优先搜索(DFS)算法
深度优先搜索(Depth First Search, DFS),在选择DFS算法时,往往是需要“分身”,需要不断尝试要完成的事情的情况。DFS算法对每一个可能的分支路径深入到不能再深入为止,且每个节点只能访问1次。它其实就是一个递归的过程,就像是一棵树的前序遍历。比如:从图中某个定点v出发,访问此顶点,然后从v的未被访问的邻接点出发深度优先遍历图,直至图中所有和v有路径相通的顶点都被访问到。...原创 2019-01-08 21:13:09 · 520 阅读 · 0 评论 -
003 分解质因数
class Solution(object): def reduceNum(self, n): print('{} = '.format(n) ) # -1= if not isinstance(n, int) or n <= 0 : # n不是整数,或者n小于0 print('Please input ...原创 2019-01-02 21:38:27 · 122 阅读 · 0 评论 -
002 前、中、后序遍历二叉树(递归&迭代)
class TreeNode: self.val = x self.left = None self.right = None递归算法:前序遍历二叉树class Solution: def preOrderTraverse(self, pRoot): if not pRoot: return pri...原创 2018-11-10 09:37:33 · 176 阅读 · 0 评论 -
005 反转单链表(迭代&递归)
输入一个链表,反转链表后,输出新链表的表头。1、迭代法① 算法实现2、递归法① 算法实现原创 2019-03-10 21:19:31 · 641 阅读 · 0 评论