前端常用的设计模式
一、创建型 1、工厂模式 提供一个创建对象的接口,但由子类决定实例化哪个类。用工厂方法代替new操作,根据传入 … 继续阅读前端常用的设计模式
一、创建型 1、工厂模式 提供一个创建对象的接口,但由子类决定实例化哪个类。用工厂方法代替new操作,根据传入 … 继续阅读前端常用的设计模式
数组(Array)优点:通过下标访问速度非常快。缺点:需要检索具体某个值时,或者插入值时(会整体移动)效率较低 … 继续阅读数据结构
动态规划 先解决子问题,再解决大问题。 动态规划可以在给定约束条件下找到最优解,没有可公用的公式。 利用网格来 … 继续阅读算法图解第9章——动态规划
没有快速解决方案,每步都采取最优的做法。 每步都选择局部最优解,最终得到的是全局最优解。 集合: 类似于列表, … 继续阅读算法图解第8章——贪婪算法
前一章使用了广度优先搜索,它找出的是段数最少的路径。如果你要找出最快的路径,可使用狄克斯特拉算法。 狄克特斯拉 … 继续阅读算法图解第7章——狄克斯特拉算法
队列是一种先进先出的数据结构;栈是一种先进后出的数据结构; 散列表是无序的,因此添加健-值对的顺序无关紧要; … 继续阅读算法图解第6章——广度优先搜索
散列函数:将输入映射到数字 1.必须是一致的,输入同一个值时,返回的值必须相同; 2.将不同的输入映射到不同的 … 继续阅读算法图解第5章——散列表
分而治之(divide and conquer,D&C)一种递归式问题解决方法。 工作原理: 1.找出 … 继续阅读算法图解第4章——快速排序
从一堆盒子中找到一把钥匙,有两种方法: 第一种:while循环,只要盒子堆不空,就从中拿出一个,在其中仔细查找 … 继续阅读算法图解第3章——递归
数组和链表 数组:数组的元素带编号,并从0开始;同一个数组中所有元素的类型必须相同; 链表:每一个元素记录了下 … 继续阅读算法图解第2章——选择排序