算法
on_1y
这个作者很懒,什么都没留下…
展开
-
从如何解决问题到如何学习算法
讲述了对如何解决问题与如何设计算法的理解。原创 2013-03-01 05:34:09 · 7280 阅读 · 5 评论 -
OpenJDK 源代码阅读之 TimSort
概要这个类在 Oracle 的官方文档里是查不到的,但是确实在 OpenJDK 的源代码里出现了,Arrays 中的 sort 函数用到了这个用于排序的类。它将归并排序(merge sort) 与插入排序(insertion sort) 结合,并进行了一些优化。对于已经部分排序的数组,时间复杂度远低于 O(n log(n)),最好可达 O(n),对于随机排序的数组,时间复杂度为 O(n原创 2014-06-11 21:32:39 · 10217 阅读 · 7 评论 -
快速幂取模
问题定义:数论中经常出现的一个问题是对一个数的幂取模,也称为模取幂,即求a^b mod n。如果计算量较小,可以直接计算出a^b的值,再作模n运算。但是如果a和b的值都非常大,a^b的值用计算机难以表示,或者即使可以用大数运算的方式用计算机表示,也会因为耗时过长难以应用。基于模运算的基本性质,可以设计出一种算法,快速求解这一问题。这种方法为“快速幂取模”,也称为“反复平方法“。算法原创 2012-09-17 23:03:10 · 5501 阅读 · 0 评论 -
OpenJDK 源代码阅读之 Arrays
概要类继承关系java.lang.Objectjava.util.Arrays定义public class Arraysextends Object要点此类主要是提供了一些操作数组的方法,比如排序啊,搜索啊。也提供一个工厂,用于将数组当成一个 List。实现quick sortpublic static voi原创 2014-06-05 20:44:58 · 1606 阅读 · 0 评论