
算法
镳点
乐于分享,喜欢学习,我辈之优良传统~
展开
-
经典算法实现及思想
其实大家都知道,编程语言只是实现程序的工具,现在的各种编程语言令人眼花缭乱,但是算法和设计思想是通用的。 最近在博客园看到一个不错的博客,对算法的讲解非常不错,分享一下 转载:算法洗脑系列:http://www.cnblogs.com/huangxincheng/category/340148.html 转载:算法速成系列:http://www.cnblogs.com/huangxinche转载 2015-01-27 14:24:19 · 475 阅读 · 0 评论 -
快速排序算法
思想:快速排序采用的是分治思想(分而治之) 优点:速度快,效率高 时间复杂度:平均运行时间O(nlogn) 实现原理:选取一个基准元素,通过一趟排序把要排序的数组分割成两部分,前半部分比基准元素都要小,后半部分比基准元素都要大,然后分别对前半部分和后半部分进行递归排序 下面的代码采用Java递归实现/** * * 快速排序-选一个基准元素,然后分别从后(查找比基准元素大的)从前原创 2015-01-15 16:55:07 · 428 阅读 · 0 评论 -
Java二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 时间复杂度:长度为n的数组,其算法复杂度为o(log(n)) 算法要求:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。 原理很简单,Java代码如下(采用递归实现):/** * * Java 二分查找算法原创 2014-12-17 15:31:35 · 617 阅读 · 0 评论 -
外排序
适用环境:文件过大,内存限制为一次只能读取部分数据 本例是个简单的外排序,相对排序效率过低,10000条数据排序时间在18000ms左右,仅作学习理解用 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java原创 2015-01-16 16:55:00 · 438 阅读 · 0 评论 -
二叉查找树
具有以下特征的可以被定义为二叉查找树(Binary Search Tree): (1)若左子树不空,则左子树上所有结点的值均小于它的根节点的值; (2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值; (3)中序遍历可以让节点有序 二叉查找树适用于范围查找,这个才是我们使用二叉树的最终目的,既然是范围查找,我们就知道了一个”min“和”max“,其实实现起来原创 2015-02-15 09:45:02 · 484 阅读 · 0 评论