- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 A*带你踏上快车道
A*(A-Star)算法是一种静态路网中求解最短路最有效的直接搜索方法,也是许多其他问题的常用启发式算法。公式表示为: f(n)=g(n)+h(n),其中 f(n) 是从初始节点经由节点n到目标节点的代价估计,g(n) 是在节点空间中从初始节点到节点n的实际代价,h(n) 是从节点n到目标节点的最佳路径的估计代价。帮助理解A*算法的文章:A*算法原理
2016-11-28 12:01:00 407
原创 js闭包
学习js,闭包一直是反复讨论的问题,这里,我就根据自己的所见及理解,讨论与闭包有关的东西function f(){ var a=2; function m(){ console.log(a) } m(); } f();js中经常出现这
2016-11-23 15:34:10 370 1
原创 快速排序算法——以数组最后一个元素为主元
关于快速排序的认识及其基本特征,请参寻我的另外一篇博文快速排序——以数组第一个元素为主元以具体的例子
2016-11-22 21:14:44 4007 1
原创 快速排序算法——以数组第一个元素为主元
快速排序算法的基本特性时间复杂度:O(n*lgn)最坏:O(n^2)空间复杂度:O(n*lgn)不稳定。快速排序是一种排序算法,对包含n个数的输入数组,平均时间为O(nlgn),最坏情况是O(n^2)。通常是用于排序的最佳选择。因为,基于比较的排序,最快也只能达到O(nlgn)。快速排序算法的程序实现(以数组第一个元素为主元)我的另外一篇博客也讨论了快排
2016-11-22 15:37:21 2391
原创 js中的this
谈到js中的this,首先要声明的是,this是在运行时进行绑定的,并不是在编写时绑定,它的上下文取决于函数调用时的各种条件。this的绑定和函数声明的位置没有任何关系,只取决于函数的调用方式。当一个函数被调用时,会创建一个活动记录(有时候也成为执行上下文)。这个记录会包含函数在哪里被调用(调用栈)、函数的调用方法、传入的参数等信息。this就是记录的其中的一个属性,会在函数执行的过程中用到。
2016-11-16 15:42:37 476
原创 工厂模式
工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会
2016-11-12 15:02:09 323
原创 链表算法题小结
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)
2016-11-06 16:07:36 426
转载 时间复杂度与空间复杂度计算
算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频
2016-11-06 15:09:38 396
jquery.json2xml.js和jquery.xml2json.js
2016-06-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人