![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
左神算法-初级
王魚(Jones)
某不知名公司的某不知名算法工程师
展开
-
左神算法-初级8(python)
左神算法-初级8贪心策略:累加1、 金条和铜板2、 IPO3、 会议室项目宣讲递归和动态规划1、 汉诺塔问题2、待续贪心策略:累加1、 金条和铜板一块金条切成两半,是需要花费和长度数值一样的铜板的。比如长度为20的金条,不管切成长度多大的两半,都要花费20个铜板。一群人想整分整块金条,怎么分最省铜板?代价=金条长度分割金条,返回最小分割代价:[60, [10,20,30]]哈夫曼编码问题,结果为所有非叶节点的和;构建小根堆:每次拿出最小的两个数,计算和,重新放入堆,直到只剩一个数即为结果(贪心原创 2020-12-22 19:34:08 · 514 阅读 · 0 评论 -
左神算法-初级7(python)
左神算法-初级7并、查集前缀树字典序并、查集'''并、查集1. isSameset(A,B)2. union(A, B)3. 一次性输入全部数据,不支持动态数据流'''class UnionFind(): def __init__(self): self.fatherMap = {} # key:子, value:父 self.sizeMap = {} # key:当前元素,value:当前元素所属集合元素总数 def makeset(原创 2020-12-18 17:25:05 · 175 阅读 · 1 评论 -
左神算法-初级6(python)
左神算法-初级6哈希函数和哈希表哈希函数哈希函数性质:哈希函数特点:生成1000个相对独立的哈希函数:哈希表设计 RandomPool 结构布隆过滤器认识一致性哈希哈希函数和哈希表哈希函数哈希函数性质:① 输入域无穷大② 输出域有限③ 输入一样,输出一样④ 哈希碰撞⑤ 离散性(输入域经过哈希函数在输出域上均匀分布),输出域模一个数k,得到的结果还是均匀分布。哈希函数特点:输出和输入无关(打乱输入规律)生成1000个相对独立的哈希函数:假设哈希函数的输出域是h,那么输出域的前一半h1和原创 2020-12-18 14:27:58 · 217 阅读 · 1 评论 -
左神算法-初级5(python)
左神算法-初级4二叉树0、构建二叉树1、实现二叉树的先序、 中序、 后序遍历2、中序遍历后继/前继节点3、二叉树的序列化和反序列化(前序、层序)4、平衡二叉树,左右子树高度差不超1(不一定是满树)、满二叉树(一定是平衡树)未完待续未完待续二叉树0、构建二叉树class BinaryTree(object): def __init__(self, data): self.data = data self.child_l = None self.ch原创 2020-12-10 20:21:28 · 152 阅读 · 1 评论 -
左神算法-初级4(python)
这里写目录标题矩阵1、转圈打印矩阵2、旋转正方形矩阵3、“之” 字形打印矩阵链表1、判断一个单链表是否是回文结构2、链表与荷兰国旗问题3、复制含有随机指针节点的链表4、两个单链表相交问题矩阵1、转圈打印矩阵2、旋转正方形矩阵3、“之” 字形打印矩阵链表1、判断一个单链表是否是回文结构2、链表与荷兰国旗问题3、复制含有随机指针节点的链表4、两个单链表相交问题1、转圈打印矩阵【要求】 额外空间复杂度为O(1)转圈打印的过程就是不断顺时针打印外围元素的过程,只要给你一个左上角的点(如(0原创 2020-12-08 16:31:44 · 346 阅读 · 2 评论