随笔分类 - 算法
摘要:搜索树 本文不会讲太多实用操作,主要是梳理一下几种常用搜索树的motivation 二叉搜索树 参考美团技术团队红黑树剖析及Java实现 二叉搜索树的插入和删除: 插入: 插入最后一定作为叶子节点挂在原树下,查找时使用parent指向当前节点的父节点,最后让parent的left/right指向该插
阅读全文
摘要:排列组合问题 全排列问题 相关例题 leeCode 46. 全排列 leetCode 47. 全排列 II leetCode 31. 下一个排列 剑指 Offer 38. 字符串的排列 求解思路 基本思路 先举例{a, b, c, d}手动排列,全排列(A_n^n),就是从n个元素中先后拿出n个元素
阅读全文
摘要:动态规划问题整理 问题思考 背包类问题的求解误区 在学动态规划思想之前求解装包类问题时,很容易想到根据性价比排序优先装高性价比物品的贪心算法,这就有点像线性规划,连续型变量我们可以通过求导来计算,但涉及到整型就会很头疼了: 想要举反例很简单,比如只有两个物品:物品A:价值5,体积5,物品B:价值8:
阅读全文
摘要:做容器放置实验时,需要计算下载N个Images的总size(Image之间可能会有可以共享的size)。 一开始想到的是Images两两之间求交集,然后慢慢推到了容斥原理。。。时间复杂度大概就是O(NN),这显然是不可接受的。 之后想到容器有层(Layers)的概念,而层的数量是有限的,假设现所有的
阅读全文