![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
qq_42025376
这个作者很懒,什么都没留下…
展开
-
DFS ,BFS 思考
BFS 用 queue 实现1、DFS 用 stack 实现,也有用递归实现,这二者有什么区别?2、 回溯和递归有什么区别?回溯和递归的区别原创 2020-09-07 14:04:33 · 74 阅读 · 0 评论 -
递归算法感悟
深入理解递归递归:单项递归–简单–斐波那契数列,阶乘回溯算法–较难–1.函数为什么可以在自己的内部又调用自己呢?2.终止条件是什么,即何时停止?3.递归运行过程中,相互嵌套的多层之间会有参数传递,多层之间是否会相互影响?...原创 2020-08-23 15:52:22 · 154 阅读 · 0 评论 -
回溯算法总结感悟
典型例子LeetCode 求⼦集(subset),求排列(permutation),求组(combination)。八皇后,数独什么是回溯算法怎么识别用回溯算法?怎么用回溯算法?以全排列问题为例框架回溯和递归的 区别与联系...原创 2020-08-18 20:49:54 · 654 阅读 · 0 评论 -
笔试题分析
首先化归,确定解题方法链表–快慢指针动态规划的三类典型题型回想对应的解题框架原创 2020-08-02 19:25:37 · 79 阅读 · 0 评论 -
动态规划
一、识别二、动态规划 性质重叠⼦问题斐波那契数列 中 存在大量的计算冗余(大量节点重复计算)带备忘录的递归解法耗时的原因是重复计算,可以造⼀个「备忘录」,每次算出某个⼦问题的答案后别急着返回,先记到「备忘录」⾥再返回;每次遇到⼀个⼦问题先去「备忘录」⾥查⼀查,如果发现之前已经解决过这个问题了,直接把答案拿出来⽤,不要再耗时去计算了。此时,带备忘录的递归解法的效率已经和迭代的动态规划解法⼀样了。实际上,这种解法和迭代的动态规划已经差不多了,只不过这种⽅法叫做「⾃顶向下」,动态规划叫原创 2020-07-26 15:46:26 · 118 阅读 · 0 评论 -
图
图的存储方式邻接表 和 邻接矩阵**邻接表:**图用数组和链表形式存储,数组存储顶点, 链表存储连接的节点且 链表上的节点 相对于顶点是 出度(箭头从顶点出发)逆邻接表: 链表上的节点对于顶点是 入度( 箭头指向顶点)...原创 2020-05-29 22:01:52 · 103 阅读 · 0 评论 -
排序算法2
声明 添加要改颜色的字体 添加要改颜色的字体 添加要改颜色的字体 添加要改颜色的字体 正文 四、归并排序1、思想2、实现原创 2019-11-27 10:12:49 · 90 阅读 · 0 评论 -
排序算法
声明正文一、种类二、优缺点,适用场合,时间复杂度分析原创 2019-11-09 20:12:51 · 162 阅读 · 0 评论 -
二叉树总结
正文1、节点定义: 2、DFS / BFS 实现框架:总结 添加要改颜色的字体 添加要改颜色的字体 添加要改颜色的字体 添加要改颜色的字体原创 2020-05-04 10:26:18 · 118 阅读 · 0 评论 -
数据结构 -- 二叉树 遍历
二叉树遍历方式Binary Tree Traversal深度优先遍历(DFS)前序遍历 Pre-order Traversal跟–左—右顺序遍历We start from A, and following pre-order traversal, we first visit A itself and then move to its left subtree B. B is al...原创 2020-05-01 19:33:26 · 166 阅读 · 0 评论 -
算法图解-- 第9章 动态规划
本章内容 学习动态规划,这是一种解决棘手问题的方法,它将问题分成小问题,并先着手解决这些小问题。(和分而治之的区别) 学习如何设计动态规划解决方案。背包问题第8章,你学习了如何找到近似解,这接近最优解,但可能不是最优解。如何找到最优解呢?...原创 2020-04-25 14:14:11 · 182 阅读 · 0 评论 -
Data Sturcture --- Linked list
不能用数组实现队列因为用数组实现,元素个数是固定的,不便于插入和删除。因此,用链表实现更合适。链表知识补充注意点:In a single linked list, the address of the first node is always stored in a reference node known as “front” (Some times it is also known ...原创 2020-04-22 21:28:44 · 159 阅读 · 0 评论 -
算法图解 --- 第5章 散列表
本章内容学习散列表 hash table 的数据结构的内部机制:实现、冲突和散列函数。这将帮助你理解如何分析散列表的性能。知道常见的应用先验知识散列表即哈希表,就是python的 字典。学习目标掌握以下几个问题: 为什么需要散列表这种数据结构? 散列表是什么? 如何实现?有哪些问题?如何解决? 有哪些应用? 创建电话本DNS解析:将网址映射到IP地址背景引出...原创 2020-04-21 15:46:38 · 232 阅读 · 0 评论 -
算法图解--第6章 广度优先搜索
本章内容 学习使用新的数据结构图来建立网络模型。 学习广度优先搜索,你可对图使用这种算法回答诸如“到X的最短路径是什么”等问题。 学习有向图和无向图。 学习拓扑排序,这种排序算法指出了节点之间的依赖关系。什么是图(它们不涉及X轴和Y轴)第一种图算法——广度优先搜索(breadth-first search,BFS)。作用...原创 2020-04-20 20:23:27 · 240 阅读 · 0 评论 -
算法图解--第四章
第四章快速排序目标学习分而治之。分而治之是你学习的第一种通用的问题解决方法。快速排序——一种常用的优雅的排序算法。快速排序使用分而治之的策略。分而治之(divide and conquer,D&C)只能解决一种问题的算法毕竟用处有限,而D&C提供了解决问题的思路。面对新问题时,你不再束手无策,而是自问:“使用分而治之能解决吗?”分而治之的实例土地分割;求和;D&...原创 2020-04-20 15:41:03 · 177 阅读 · 0 评论