Algorithm
文章平均质量分 73
alexanderkenndy
这个作者很懒,什么都没留下…
展开
-
冒泡排序 java
package com.alexander.sort.implementation; public class BubbleSort { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = { 90, 20,原创 2014-04-25 21:21:17 · 746 阅读 · 0 评论 -
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问到第12个月的兔子总数为多少?
一道算法题,网上查了下居然是古典问题:原创 2014-04-26 23:24:53 · 10129 阅读 · 2 评论 -
堆排序原理及算法实现(最大堆)
堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。 1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>转载 2014-07-17 21:44:44 · 804 阅读 · 0 评论 -
散列表(哈希表)查找算法
散列方法不同于顺序查找、二分查找、二叉排序树及B-树上的查找。它不以关键字的比较为基本操作,采用直接寻址技术。在理想情况下,无须任何比较就可以找到待查关键字,查找的期望时间为O(1)。 散列表的概念 1、散列表 设所有可能出现的关键字集合记为U(简称全集)。实际发生(即实际存储)的关键字集合记为K(|K|比|U|小得多)。 散列方法是使用函数h将U映射到表T转载 2014-07-17 21:32:18 · 1435 阅读 · 0 评论 -
汉诺塔(hanoi) C语言实现
最近一直在学习C语言,学习了递归,准备些点原创 2014-07-20 20:46:54 · 1368 阅读 · 1 评论 -
快速排序 java
概念: 快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比另一部分关键字小。继续对长度较短的序列进行同样的分割,最后到达整体有序。在排序过程中,由于已经分开的两部分的元素不需要进行比较,故减少了比较次数,降低了排序时间。 时间复杂度:原创 2014-04-26 22:52:03 · 811 阅读 · 1 评论