算法
kavensu
这个作者很懒,什么都没留下…
展开
-
排序算法总结
http://www.cppblog.com/shongbee2/archive/2009/04/25/81058.html排序算法总结花了很长时间终于把排序的基础学了一下,这段时间学了很多东西,总结一下:学的排序算法有:插入排序合并排序冒泡排序选择排序希尔排序堆排序快速排序计数排序基数排序桶排序(没有实现)比较一下学习后的心得。我不是很清楚他们的时间复转载 2012-06-08 13:02:52 · 627 阅读 · 0 评论 -
ArrayList 和LinkedList各自的特点是什么?
rrayListArrayList其实是包装了一个数组 Object[],当实例化一个ArrayList时,一个数组也被实例化,当向ArrayList中添加对象是,数组的大小也相应的改变。这样就带来以下有缺点:快速随即访问 你可以随即访问每个元素而不用考虑性能问题,通过调用get(i)方法来访问下标为i的数组元素。向其中添加对象速度慢 当你创建数组是并不能确定其容量,所以当改变这个数组时就必须在内转载 2012-09-16 22:54:31 · 4683 阅读 · 0 评论 -
开型寻址散列
一、前言原创 2012-10-09 20:45:42 · 921 阅读 · 0 评论 -
用java实现的哈希表(散列表)
用java实现的一个哈希表(散列表)。只是简单实现了一些功能,想借此深入了解哈希表的具体实现。最好的学习方法还是看java源码。public class Table{ private int manyItems; private Object[] keys; private Object[] values; private boolean[] hasBeenUsed; public原创 2012-10-09 20:48:43 · 7809 阅读 · 1 评论 -
汉诺塔-递归算法
http://www.cnblogs.com/ruofengzhishang/articles/1939444.html个人觉得汉诺塔这个递归算法比电子老鼠的难了一些,不过一旦理解了也还是可以的,其实网上也有很多代码,可以直接参考。记得大一开始时就做过汉诺塔的习题,但是那时代码写得很长很长,也是不理解递归的结果。现在想起来汉诺塔的算法就3个步骤:第一,把a上的n-1个盘通过c移动到b。第二转载 2012-10-10 09:35:40 · 2201 阅读 · 0 评论 -
排序算法稳定性讨论
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,说一下稳定性转载 2012-10-04 10:54:26 · 4553 阅读 · 0 评论 -
检测回文串
/**检测回文串: * 先判断该字符的第一个和最后一个字符是否相等。如果相等,检查第二个字符和倒数第二个字符 * 是否相等。这个过程继续进行,直到出现不配陪的情况或者字符串的所有字符都检验完了。当字 * 符串有奇数个字符时,不用检查中间字符。 * @param s * @return */ public static boolean isPalindrome(String原创 2012-10-13 19:51:52 · 1501 阅读 · 0 评论 -
二叉树
二叉树:(1)相关的概率:双亲兄弟祖先后代子树结点的左子树和右子树结点的深度树的深度(高度)满二叉树:满二叉树一定是完全二叉树。完全二叉树:叶子结点数最多为2^n,总的结点数最多2^(n+1)-1 .(2)二叉树的数组存储方式:根结点:array[0].双亲的位置:[(i-1)/2].左孩子:[2i+1].右孩子:原创 2012-10-16 14:55:26 · 791 阅读 · 0 评论 -
加密算法总结
分类 加密技术通常分为两大类:“对称式”和“非对称式”。 对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。 非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“转载 2012-10-17 01:08:05 · 1248 阅读 · 0 评论