18、TurboFan如何用图做JS编译优化

你好,我是石川。 今天我们来看下图(graph)这种数据结构,图是一个抽象化的网络结构模型。你可能会问有什么算法应用会用到图这种结构吗?其实很多,像我们经常用的社交媒体(比如国内的微博、微信,或者国外的脸书、领英)中的社交图谱,都可以通过图来表达。另...

JavaScript进阶实战课

19、通过树和图看如何在无序中找到路径和秩序

你好,我是石川。 在算法中,最常见的两个操作莫过于排序和搜索了。前面我们通过数组了解了在线性的数据结构中不同的排序算法。之后,我们又通过哈希算法了解了散列表这种比较特殊的线性表,了解了它是如何与链表结合,用空间换时间地支持索引和查找的。 在现实的生活...

JavaScript进阶实战课

20、算法思想:JS中分治、贪心、回溯和动态规划

你好,我是石川。 在算法中,我们提到如递归、分治、贪心、回溯和动态规划这些不同的算法思想时一般会分开来说。但实际上,它们之间是有着关联的。比如递归和回溯可以解决贪心顾及不到或者不能重试的问题。而动态规划又可以在利用递推公式的基础上解决递归中的一些短板...

JavaScript进阶实战课

21、创建型:为什么说Redux可以替代单例状态管理

你好,我是石川。 时间过得真快,今天要开始专栏的第三个模块“JavaScript之术”了,前面我们已经了解了函数式和面向对象的编程模式、JavaScript 的数据结构与算法,从这节课开始,我们会展开讲解JavaScript用到的设计模式,结合一些三...

JavaScript进阶实战课

22、结构型:Vue.js如何通过代理实现响应式编程

你好,我是石川。 上一讲我们介绍了几种不同的创建型模式,今天我们来说说设计模式中的结构型模式。在结构型模式中,最经典、最常用的就非代理模式莫属了。在JavaScript的开发中,代理模式也是出现频率比较高的一种设计模式。 前端的朋友们应该都对Vue....

JavaScript进阶实战课

23、结构型:通过jQuery看结构型模式

你好,我是石川。 今天,我带你顺着上一节的内容,再来看看在GoF(四人组)的《设计模式:可复用面向对象软件的基础》这本书中介绍的另外几种经典的结构型设计模式。我们可以通过jQuery来看看结构型的设计,说到这里,你可能会说jQuery可以算是被吐槽比...

JavaScript进阶实战课
1234568