算法
chenxuezhou
工作闲暇之时,做点知识点总结,比较散乱。
展开
-
经典算法面试题
查找无序数组n中的最小的k个值,要求时间复杂度越低越好。原创 2021-07-15 16:38:48 · 80 阅读 · 0 评论 -
leetCode总结
1691. 堆叠长方体的最大高度 先排序处理,也类似剪枝条件一样优化时间复杂度,dfs先排序,不然过程中做状态存储就太复杂了 300. 最长递增子序列和这个又有点不一样,上面块插入进去对中间状态位有影响 494. 目标和 递归穷举总是可以表示成状态过程 416. 分割等和子集排序操作可以让递归变得简单 62. 不同路径记忆法则是图遍历过程中,通过已标记数组来剪枝,无法像数字一样进行排序 1177. 构建回文串检测这道题要是有了性能限制,就很难发现配对剩余个数绝对比种数少,由于重新...原创 2021-03-05 15:17:55 · 140 阅读 · 0 评论 -
B树动态查找
桶排序 LSD的基数排序适用于位数少的数列,如果位数多的话,使用MSD的效率会比较好 B树 http://www.blogjava.net/supercrsky/articles/185167.html B树性质,都取上限 2.根结点的儿子数为[2, M]; 3.除根结点以外的非叶子结点的儿子数为[M/2, M]; ...原创 2018-10-31 16:31:04 · 382 阅读 · 0 评论 -
图算法
https://www.cnblogs.com/nigang/p/3658990.html 参考文章 //最短路径算法Dijkstra 迪杰斯特拉=》参考文章:https://www.cnblogs.com/nigang/p/3658990.html //用邻接矩阵存储一个图 //顶点 function Vertex(name) { this.name =name; } //邻接...原创 2018-07-17 11:52:37 · 235 阅读 · 0 评论 -
DP问题
线性DP; 区间DP; 背包DP; 树形DP; 状态压缩DP; 数位DP; 计数型DP; 递推型DP; 概率型DP; 博弈型DP; 记忆化搜索; 1. 线性DP 最经典单串: 300. 最长上升子序列(LIS) 最经典双串: 1143. 最长公共子序列(LCS) 经典问题: 120. 三角形最小路径和 53. 最大子序和 152. 乘积最大子数组 887. 鸡蛋掉落(DP+二分) 354. 俄罗斯套娃信封问题(隐晦的LIS) 打家劫舍系列: (打家劫舍3 是...原创 2020-06-17 16:47:52 · 374 阅读 · 0 评论 -
树
二叉树前驱遍历和dfs遍历是等效的 后序遍历非递归 https://www.jianshu.com/p/fff56a761dde https://www.cnblogs.com/SHERO-Vae/p/5800363.html package practise; public class Trie { private int SIZE = 26; ...原创 2018-10-16 16:52:46 · 112 阅读 · 0 评论 -
内部排序算法
这是最近要做的做成树形结构形状, https://blog.csdn.net/qinshenxue/article/details/38372653 json数据形式转dom文档流格式形式 分析步骤错乱,应该从对改实现点出发 文档流结构特征分析 数组和对象的时候要多加两个div,且class不一样, 由于树又是递归的,改造递归程序却变得非常难,可能我本身算法学精通有关 排...原创 2018-07-20 21:16:09 · 175 阅读 · 0 评论 -
数据结构与算法
挺好的样例题,值得刷 https://leetcode-cn.com/explore/ 带算法特性 给一个01矩阵,求不同的岛屿的个数。 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 样例 在矩阵: [ [1, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 0, 0, 1, 1], [0,...原创 2018-07-03 15:06:41 · 158 阅读 · 0 评论 -
图性质、图解法
https://www.cnblogs.com/wuguanglin/p/DPSandBPS.htmlhttps://blog.csdn.net/qq_26297581/article/details/51251290结构:邻接矩阵,邻接表,其他不说了内容基本和严蔚名的书内容基本一致...原创 2018-07-02 16:47:39 · 236 阅读 · 0 评论 -
算法题解法
将递归算法转换为非递归算法有两种方法,一种是直接求值,不需要回溯;另一种是不能直接求值,需要回溯。前者使用一些变量保存中间结果,称为直接转换法;后者使用栈保存中间结果,称为间接转换法,下面分别讨论这两种方法。 1. 直接转换法 直接转换法通常用来消除尾递归和单向递归,将递归结构用循环结构来替代。 尾递归是指在递归算法中,递归调用语句只有一个,而且是处在算法的最后。例如求阶乘...原创 2017-12-01 19:55:45 · 431 阅读 · 0 评论