二路归并排序:其核心思想时将问题一分为二,并递归调用一分为二方法,使问题分割到不能再分各的原子问题,然后再归并,从实现原子问题开始,层层向上归并,最终解决整体问题。即所谓“分而治之,万流归一” 二路归并排序的时间复杂度计算如下: 参考资料:算法导论 递归算法的时间复杂度求解: 二路归并java实现: ...
分类:
编程语言 时间:
2018-04-29 11:50:06
阅读次数:
215
10.1 栈和队列 都是动态集合,Delete操作是预先设定好的。 栈 Insert:push Delete: pop 实现,一个计数器记录元素数量 同理,队列实现是一个计数器记录首尾元素的位置,如果首元素太过靠后,尾元素可以过来。 10.2 链表 双向链表:每一个元素是一个对象,有prev, ne ...
分类:
编程语言 时间:
2018-04-27 13:28:34
阅读次数:
179
1、接口类和抽象类 抽象类和接口类 java 编程原则和设计模式 设计模式 程序设计 具有里程碑意义的设计方式 从java中演变出来的 单例模式 一个类只有一个实例 算法导论 计算的方法 时间和空间的问题 权威通用 java 面向对象 java不能多继承 编程原则 python 开放封闭原则 开放 ...
分类:
其他好文 时间:
2018-04-16 20:41:07
阅读次数:
198
原理请参考《算法导论》 插入式排序算法实现: 递归实现分治,merge函数实现合并算法实现: 冒泡算法实现: 所有代码均经过测试,结果正确。 ...
分类:
编程语言 时间:
2018-04-15 14:55:34
阅读次数:
147
Dijkstra 算法解决的是带权重的有向图上单源最短路径问题,该算法要求所有边的权重都为非负值。该算法的时间复杂度是O(N2),相比于处理无负权的图时,比Bellmad-Ford算法效率更高。 算法描述: 首先引用《算法导论》中的一段比较官方的话,如果可以看懂,那下一部分就可以跳过了: “Dijk ...
分类:
编程语言 时间:
2018-04-14 13:48:43
阅读次数:
179
系列地址: "算法导论(CLRS)参考答案与配套编程题选" 练习2.3 7 配套编程题 :两数之和 (Two Sum) "LeetCode" / "LeetCode CN" ...
分类:
编程语言 时间:
2018-04-04 18:11:18
阅读次数:
149
系列地址: "算法导论(CLRS)参考答案与配套编程题选" 熟悉 Online Judge ...
分类:
编程语言 时间:
2018-04-04 18:06:07
阅读次数:
171
系列地址: "算法导论(CLRS)参考答案与配套编程题选" 2.1 插入排序 练习2.1 1 原题为 $A=$ , 每一次排序后变化如下: 为了演示效果,所有值统一减 $10$. 下面演示对 $A=$ 的排序过程: 练习2.1 2 重写为非升序排序结果如下: "点击查看大图" ...
分类:
编程语言 时间:
2018-04-03 19:10:10
阅读次数:
162
1.1 算法 1.1 1 例如大学生学期统计排序以分配奖学金等等。 1.1 2 例如解决问题需要使用的内存等等。 1.1 3 顺序表,优点有支持随机查找,可以在$O(1)$内查找元素,缺点是增添/删除元素不方便。 1.1 4 相似:都可以通过带有加权边的图来模拟解决总距离最小化问题。 不同:最短路径 ...
分类:
编程语言 时间:
2018-04-03 17:17:41
阅读次数:
189
配置注解 创建事务bean,配置数据源属性 事务注解驱动 声明式事务 以上可以看出上 ...
分类:
编程语言 时间:
2018-03-31 17:26:37
阅读次数:
177