/javascript-general-studies

《JavaScript编程通识》系列,你必须知道的编程基础。JavaScript数据结构、JavaScript基本算法、JavaScript设计模式等

Primary LanguageJavaScript

《JavaScript编程通识》

你必须知道的编程知识。JavaScript数据结构、JavaScript基本算法、JavaScript设计模式等

一、javascript数据结构

一个存储元素的线性集合(collection),元素可以通过索引来任意存取,索引通常是数字,用来计算元素之间存储位置的偏移量。

用于存储按顺序排列的数据,先进先出。

一种高效的数据结构,数据只能在栈顶添加或删除,先进后出。

由一组节点组成的集合,每个节点都使用一个对象的引用指向它的后继。

以键-值对形式存储数据的数据结构。

散列是一种常用的数据存储技术,散列后的数据可以快速地插入或取用。

一种包含不同元素的数据结构。集合中的成员是无序的,集合中不允许相同成员存在。

一种非线性的数据结构,以分层的方式存储数据,被用来存储具有层级关系的数据。

由边的集合及顶点的集合组成。

二、javascript基本算法

基础算法

  • 阶乘

  • 斐波那契数

  • 素数检测

  • 最大公约数算法(GCD)

  • 最小公倍数 (LCM)

  • 杨辉三角形

  • 整数拆分

  • 字符串快速查找

  • 最长公共子串

排序算法

  • 选择排序 Selection Sort

  • 插入排序 Insertion Sort

  • 希尔排序 Shell Sort

  • 归并排序 Merge Sort

  • 堆排序 Heap Sort

  • 快速排序 Quick Sort

查找/搜索算法

  • 线性查找

  • 二分查找

  • 跳转查找

  • 插值查找

  • [数]深度优先搜索

  • [数]广度优先搜索

  • [图]深度优先搜索

  • [图]广度优先搜索

趣味算法

  • 汉诺塔

  • 旋转矩阵

  • 跳跃游戏

  • 独特路径

  • 雨水收集

  • 递归楼梯

  • 八皇后问题

  • 骑士巡逻

[附]常见的算法范式:

  • 暴力破解法

  • 分治法

  • 动态规划法

  • 贪心算法

  • 回溯法

  • 分支限界法

三、javascript设计模式:

  • 创建型设计模式: 1、简单工厂模式 2、工厂方法模式 3、抽象工厂模式 4、建造者模式 5、原型模式 6、单例模式

  • 结构型设计模式: 7、外观模式 8、适配器模式 9、代理模式 10、装饰者模式 11、桥接模式 12、组合模式 13、享元模式

  • 行为型设计模式: 14、模板方法模式 15、观察者模式 16、状态模式 17、策略模式 18、职责链模式 19、命令模式 20、访问者模式 21、中介者模式 22、备忘录模式 23、迭代器模式 24、解释器模式

  • 技巧型设计模式: 25、链模式 26、委托模式 27、数据访问对象模式 28、节流模式 29、简单模板模式 30、惰性模式 31、参与者模式 32、等待者模式

  • 架构型设计模式: 33、同步模块模式 34、异步模块模式 35、Widget模式 36、MVC模式 37、MVP模式 38、MVVM模式