- 博客(4)
- 收藏
- 关注
原创 排序算法总结 python
1.归并排序 思想:分治,将数组分成小部分,每部分排序后合并成一个完整的有序数组,可以采用递归实现,递归深度log2n。 def merge(left,right): #两个有序数组的合并 res = [] #存放排序结果 while len(left) >0 and len(right) >0: #若两数组均不为空,则拿第一个元素依次比较,较小的从数组中弹出并放入...
2018-09-14 14:40:36 133
原创 剑指offer:左旋转字符串 python
剑指offer:左旋转字符串 python 题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! 方法一:python切片(python最好的一点...
2018-09-13 00:56:42 757 1
原创 二叉树基础 python实现
二叉树基础(前中后遍历,按层遍历) 整理一下二叉树的几种遍历,递归的前中后比较简单,非递归主要利用栈实现,按层遍历利用队列实现。 以该二叉树为例 1 / \ 2 3 / \ \ 4 5 7 class TreeNode: def __init__(self,x,left=None,right=None): self.val = x s...
2018-09-11 00:19:20 119
原创 经典动态规划学习记录
经典动态规划学习记录 动态规划本质是一种用空间换时间的优化方法,通常来优化可以暴力搜索求解的问题,也就是去冗余,把之前计算过的存下来,而且是规定了递归的计算顺序,从简单基本的出发,依次计算(这也是他优于记忆搜索的地方)。方法大概如下: 1.首先能明白暴力递归怎么实现(重要); 2.找到函数中可以代表递归过程的参数; 3.参数为key,结果为value,存入dict中,方便以后拿来用(记忆搜...
2018-09-10 23:57:11 250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人