算法
iteye_464
这个作者很懒,什么都没留下…
展开
-
关于java数组以及两种简单排序算法
关于数组的使用,我们要从其实例化和初始化说起,实例化的方法多种多样,掌握常用的几种方法就可以了,下面给几个一维数组的实例化对象: 数据类型 [ ] 数组名 = new 数据类型[长度]; 数组名 = new 数据类型[长度]; 数组名 = new 数组类型[]{值,...}; java数组在实例化过程中会给数组元素赋初值,像int的初值是0,string的初值是null,如果是自己...2014-05-09 21:30:46 · 108 阅读 · 0 评论 -
堆排序
堆排序,我是从算法导论里面看到的,它的最基本思想就是:把一个数据建立成一个堆(我看来就是一个简单的二叉树)每一个子树的根节点是在本树里面的最大数,这时候树根就是整棵树里面最大的,然后我们每次把树根提取出来换成叶节点,也就是每次都会减少树的一个节点(就是树根的最大值),但是根节点并不是没了,而是换成最后的一个叶节点,提取以后再重新调整树,使其符合最大(最小堆)的定义:二叉树的每个子树根节点都是本子...2014-11-19 13:09:31 · 105 阅读 · 0 评论 -
快速排序(C++版本)
快速排序的思想,如果说是分治法,那也不详细,我看到一个非常适合的描述就是“挖坑填数+分治法” 挖坑填数:就是从数组中取一个基数(就想一个标杆来和其他的数比较),赋值给temp变量,这样我们就不用担心它会丢失,就相当于我们把这个数先挖出来,留一个坑给其他的数字填充,其他的所有数都跟这个数比较,值得注意的是:如果我们取的是最左边(右边)的数,那么我们就要先从右边(开始比)。 ...原创 2014-11-19 15:32:43 · 131 阅读 · 0 评论