算法从浓密到稀疏
算法一直是我不擅长的,但是有时对程序的理解还是十分重要的! 每个星期,我会更新一篇算法文章.
我的目的不是成为算法工程师,我并不是很喜欢算法,也不擅长.
但是,算法是程序不可或缺的一部分.希望通过提升算法来提升自己! 2019.7.21
居十四
君子性非异也, 善假于物也.
展开
-
位图与布隆过滤器
位图与布隆过滤器位运算了解位图, 首先得了解二进制和位运算大家可以通过下面的链接, 了解一下;JS中的按位操作符你说你会位运算,那你用位运算来解下八皇后问题吧位图什么是位图推荐阅读 小灰算法-位图位图: 在我看来就是通过使用一个字符或者数字, 来代表多个 1或0 的状态;从而节省空间;举个例子:用户1和用户3都是程序员. 用户2,4不是就可以使用二进制 (1表示是, 0表示不是) 0101 来表示这个情况大家可以参考代码:public class BitMap { // J原创 2020-11-01 10:46:27 · 146 阅读 · 0 评论 -
从背包问题看贪心,回溯,动态规划
从背包问题看贪心,回溯,动态规划本文很多内容来源于极客时间上 数据结构与算法之美 这一专栏.本文采用的编程语言是 JavaScript.在学习贪心,回溯,动态规划时, 发现都有 背包问题;想着总结一下, 分享给大家;贪心适用的问题针对一组数据,我们定义了限制值和期望值,希望从中选出几个数据,在满足限制值的情况下,期望值最大。不适用: 前面的选择,会影响后面的选择下求最优解此时贪心算法解决问题的思路,并不能给出最优解。要证明贪心算法的正确性是比较难的.实际情况下要用反证法证明不能用贪心.原创 2020-10-18 17:27:03 · 534 阅读 · 0 评论 -
JS实现图的BFS和DFS
JS实现图的BFS和DFS通过在极客时间上学习的算法内容.我用JS实现图的BFS和DFS.这里分享给大家.本文使用图的存储方式是 邻接表代码中使用的是无向图, 有向图类似.例子都是从 s 到 t最后一部分有全部的代码, 和一个小的测试用例BFSBFS 也就是 Breadth First Search广度优先搜索可以理解为地毯式地搜索, 一层一层地搜索.是不是想起树的层序遍历了?BFS 同样利用了一个 queue 作为辅助工具.如果, 我们想要向上图一样遍历. 首先我们要解决下面原创 2020-09-26 10:36:11 · 1694 阅读 · 0 评论 -
js实现对链表相关算法
js实现对链表相关算法为什么选择js因为js是函数式编程,实现起来更加方便.而且现在调试工具也很方便.只有有浏览器就可以.js有很多优秀的特性.尤其是对数组的操作.还有正则表达式的支持等等.写一般的算法是够了…最主要是方便!背景在极客时间上买了一个算法的课程.打算好好恶补一下算法!在LeetCode上,有关于链表的题目,下面是按难度进行的排序.// 定义一个 ListNodef...原创 2019-07-27 12:02:10 · 328 阅读 · 0 评论