算法
手写Hello World工程师
https://github.com/Max-hearted
展开
-
算法--二分查找(js实现)
二分查找(Binary Search):高效、简单易实现,只适用于传入的数组线性表都是有的排列存储的。而且元素关键字是有序排列。查找步数最多为㏒2NJavaScript实现:...原创 2018-09-02 19:12:07 · 1579 阅读 · 4 评论 -
算法 -- 广度优先搜索
广度优先搜索(BFS):是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。BFS在求解最短路径或者最短步数上有很多的应用。应用...原创 2018-09-11 11:07:22 · 558 阅读 · 0 评论 -
算法 -- 对等差分数组
创建一个函数,接受两个或多个数组,返回所给数组的 对等差分(symmetric difference) (△ or ⊕)数组.给出两个集合 (如集合 A = {1, 2, 3} 和集合 B = {2, 3, 4}), 而数学术语 "对等差分" 的集合就是指由所有只在两个集合其中之一的元素组成的集合(A △ B = C = {1, 4}). 对于传入的额外集合 (如 D = {2, 3}), 你...原创 2018-09-06 10:57:15 · 343 阅读 · 0 评论 -
算法--选择排序
原创 2018-09-03 17:28:22 · 103 阅读 · 0 评论 -
算法--快速排序
快速排序:是对冒泡排序的一种改进,通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的数据都要小。然后分别对这两部分进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。代码:...原创 2018-09-05 21:04:36 · 145 阅读 · 0 评论 -
算法 -- 迪克斯特拉算法Dijkstra
定义:找出最短路径的算法。思想:按路径长度递增次序产生算法:把顶点集合V分成两组:(1)S:已求出的顶点的集合(初始时只含有源点V0)(2)V-S=T:尚未确定的顶点集合将T中顶点按递增的次序加入到S中,保证:(1)从源点V0到S中其他各顶点的长度都不大于从V0到T中任何顶点的最短路径长度(2)每个顶点对应一个距离值S中顶点:从V0到此顶点的长度T中顶点:从...原创 2018-09-11 11:37:20 · 1384 阅读 · 0 评论 -
算法--中级算法题目与实现
1、区间求值我们会传递给你一个包含两个数字的数组。返回这两个数字和它们之间所有数字的和。最小的数字并非总在最前面。2、找出数组间的差别比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异3、数字转为罗马数字将给定的数字转换成罗马数字。所有返回的 罗马数字 都应该是大写形式4、对象搜索写一个 fu...原创 2018-09-02 21:23:30 · 1027 阅读 · 0 评论 -
算法--初级算法题目与实现
1、实战翻转字符串算法你可以先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,然后把数组转化成字符串2、计算所提供整数的阶乘。如果使用字母n代表一个整数,则阶乘是所有小于或等于n的整数的乘积。阶乘通常简写成 n!例如: 5! = 1 * 2 * 3 * 4 * 5 = 1203、回文算法如果给定的字符串是回文,返回true,反之,返回false。...原创 2018-09-02 20:57:46 · 1324 阅读 · 0 评论 -
算法--链表与数组
链表:链表中的元素可以存储在内存的任何地方,链表中的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。 优点: 1、添加、删除元素不必移动元素 2、元素存储地址不连续,空间利用率高 缺点:查找元素是效率极低 数组:按顺序存储元素和地址,一一对应。 优点:1、按地址索引查找元素效率极高 ...原创 2018-09-02 20:28:29 · 113 阅读 · 0 评论 -
Virtual DOM diff算法
首先浏览器加载一个HTML页面时会经过创建DOM 树、创建样式规则(style rules)、构建渲染树(render tree)、布局layout 和 绘制页面(painting)。传统的原生api或jQuery去操作DOM的时候,浏览器会从构建DOM树开始从头到尾执行一遍流程,所以频繁的操作DOM的代价是昂贵的。还会出现页面卡顿,影响用户的体验。虚拟DOM就是为了解决这个问题而被设计出...原创 2019-03-07 16:14:50 · 286 阅读 · 0 评论