算法
来自流星
这个作者很懒,什么都没留下…
展开
-
格式化输出
package com.arithmetic;// 格式化输出public class Format { public static void main(String[] args) { // 字符 String s = "hello world"; System.out.printf("%-16s",s); Syst...转载 2018-11-16 15:14:46 · 128 阅读 · 0 评论 -
典型字符串处理代码
package com.arithmetic;public class StringApi { // 判断字符串是否是一条回文 public static boolean isPalindrome(String s) { int N = s.length(); for (int i = 0; i < N/2; i++) { ...转载 2018-11-19 10:57:04 · 242 阅读 · 0 评论 -
典型数组处理代码
package com.arithmetic;import java.util.Arrays;public class Array { // 获得数组最大值 public static double getMaxValue(double[] array) { double maxValue = array[0]; for (int i =...转载 2018-11-15 10:39:34 · 128 阅读 · 0 评论 -
下压(LIFO)栈,ResizingArrayStack
能够动态调整数组大小的实现:耗时跟栈大小成正比package com.vadonmo.exp.example;import java.util.Iterator;/** * 下压(LIFO)栈,能够动态调整数组大小的实现 * */public class ResizingArrayStack<Item> implements Iterable<Item&g...转载 2018-12-12 17:05:10 · 136 阅读 · 0 评论 -
ResizingArrayStack 动态调整数组大小
package com.arithmetic;import java.util.Iterator;import java.util.NoSuchElementException;// 能够动态调整数组大小的实现public class ResizingArrayStack<Item> implements Iteratable<Item> { pri...转载 2018-12-13 10:02:10 · 302 阅读 · 0 评论 -
Java 单链表
package com.arithmetic;/** * 单链表 */public class SingleLinked { Node first; int N; SingleLinked() { N = 0; } // 头插法 void addHeadNode(Node n) { n.next = ...转载 2018-12-13 14:11:48 · 119 阅读 · 0 评论 -
Stack 链表实现
package com.Util;import java.util.Iterator;import java.util.NoSuchElementException;public class Stack<Item> implements Iterable<Item> { private Node<Item> first; // to...转载 2018-12-13 14:49:36 · 195 阅读 · 0 评论 -
Queue 链表实现
package com.arithmetic;import java.util.Iterator;import java.util.NoSuchElementException;/** * 队列 * 是一种基于先进先出策略的集合类型,按照任务产生的顺序完成他们的策略 * * foreach 语句迭代访问队列元素时的顺序。 就是它们加入队列的顺序 * * 队列链表实现 ...转载 2018-12-13 16:45:39 · 390 阅读 · 0 评论 -
Bag 背包 链表实现
package com.arithmetic;import java.util.Iterator;import java.util.NoSuchElementException;/** * 背包 * 是一种不支持删除元素的集合数据类型。 * 它的目的是帮助我们收集元素和迭代所有元素 */public class Bag<Item> implements Iter...转载 2018-12-13 16:59:50 · 398 阅读 · 0 评论 -
Stack 链表
package com.arithmetic;import com.Util.StdIn;import com.Util.StdOut;import java.util.Iterator;import java.util.NoSuchElementException;/** * 栈 * 链表实现 */public class Stack<Item> imple...转载 2018-12-14 15:32:32 · 172 阅读 · 0 评论 -
选择排序
package com.arithmetic.sort;import com.Util.StdIn;import com.Util.StdOut;/** * 选择排序 * * 首先找到 数组中最小的元素,将其与数组第一个元素交换位置,再次 在剩下的元素中找到最小与第二个元素 * 数组交换位置。如此反复 选择排序的内循环只是比较当前元素与目前已知元素的最小值,每次交换都能...转载 2018-12-17 10:47:57 · 104 阅读 · 1 评论 -
插入排序
package com.arithmetic.sort;import com.Util.StdOut;/** * 整理牌的方法是一张一张的来,将每一张插入到其他已经有序的牌的适当位置中。 * * 在实现中我们需要给插入的元素腾出空间,我们需要将其余所有元素在插入之前都向右移动一位. * * 与选择排序一样。 当前索引左边的都是有序的,但它们的最终位置还不确定,为了给更小的元素腾...转载 2018-12-18 09:01:21 · 148 阅读 · 0 评论 -
List、String的 equals方法
List 的 equals(): public boolean equals(Object o) { if (o == this) return true; if (!(o instanceof List)) return false; ListIterator<E> e1 = ...原创 2019-06-25 17:12:24 · 684 阅读 · 0 评论 -
相关API
package com.arithmetic;import java.util.Arrays;public class StdRandom { // 随机返回【a,b)之间的一个 double 值 public static double uniform(double a, double b) { return a + random() * (b-a);...转载 2018-11-16 14:36:16 · 168 阅读 · 0 评论 -
Hash函数
原作者:举个栗子你就清楚了。考虑到你已经读过源码,下面一些术语就不详细解释了。我们创建一个hashmap,其entry数组为默认大小16。现在有一个key、value的pair需要存储到hashmap里,该key的hashcode是0ABC0000(8个16进制数,共32位),如果不经过hash函数处理这个hashcode,这个pair过会儿转载 2018-02-07 13:59:36 · 219 阅读 · 0 评论 -
Hash函数(2)
via:什么是哈希表和哈希算法?比如这里有一万首歌,给你一首新的歌X,要求你确认这首歌是否在那一万首歌之内。无疑,将一万首歌一个一个比对非常慢。但如果存在一种方式,能将一万首歌的每首数据浓缩到一个数字(称为哈希码)中,于是得到一万个数字,那么用同样的算法计算新的歌X的编码,看看歌X的编码是否在之前那一万个数字中,就能知道歌X是否在那一万首歌中。作为例子,如果要你组织那一万首转载 2018-02-07 15:24:36 · 136 阅读 · 0 评论 -
异或
转载 2018-02-07 15:51:20 · 196 阅读 · 0 评论 -
JDK7 HashMap(一)
哈希类集合的三个基本存储概念:table,存储所有节点数据的数组 slot 哈希槽,即 table[i] 的位置 bucket 哈希桶,即 table[i] 上所有元素形成的表或者树的集合 存储所有节点的table数组 transient Node<K,V>[] table; 描述一个hash节点信息: static clas...原创 2019-06-28 17:33:19 · 205 阅读 · 0 评论