- 博客(22)
- 收藏
- 关注
翻译 递归算法改进---表存储代替冗余递推
/**求解递归关系 *Sum=C(0)+C(1)+...+C(N-1); 即求和运算 *C(N)=(2/N) Sum +N **/public static double eval( int n){ if (n == 0) return 1.0; else { duoble sum= 0.0; for(int i= 0; i< n; i
2017-02-26 13:22:43
339
翻译 递归算法改进---fibonaci 函数
采用一个表代替递归/** *Compute Fibonaci numbers * f(0)=1, f(1)=1 * f(n)= f(n-1)+ f(n-2); *程序效率低下,运行时间也是T(N) 成指数级增长 */public static int fib( int n){ if(n<= 1) return 1; else return fib(
2017-02-26 13:00:58
578
翻译 快速选择
选择第K个最大(小)元private static <AnyType extends Comparable<? super AnyType>>void quickSelect(AnyType a, int left, int right, int k){ if(left+ CUTOFF <= right) { AnyType pivot= median3(a, left,
2017-02-25 12:48:28
200
翻译 实际快速排序 -分割策略
快速排序,枢纽元(比较值)理论上选哪个都可以。实际快速排序包括划分策略 和递归调用。public static <AnyType extends Comparable<? super AnyType>>void quicksort(AnyType [] a){ quicksort(a, 0, a.length-1);}private static final int CUTOFF= 3;
2017-02-25 12:25:49
363
翻译 二叉堆
堆是一颗完全被填满的二叉树,有可能的例外是在底层,底层的元素从左到右填满。完全二叉树 二叉堆又可分为最大堆,最小堆。最小堆就是节点元素值小于等于两儿子。 完全二叉树可以用一个数组表示,a[0] 位置空出(后面有用)对于数组任意位置i上的元素, 其左儿子在位置2i上,右儿子在位置2i+1上, 父节点在i/2上。因此不需要链。问题在最大的堆的大小需要事先估计,但是一般不成问题,可以调整大小。// B
2017-02-24 21:58:48
243
翻译 排序--堆排序
/** *heapsort */private static int leftChild(int i){ return 2 * i +1;}private static <AnyType extends Comparable<? super AnyType>>void percDown(AnyType [] a, int i, int n){ int child; A
2017-02-24 20:22:37
252
翻译 排序--希尔排序
shellSort 又称为增量排序,间隔gap的位置组成的数组都各自排好序,再gap越来越小直到1,排好整个数组。public static <AnyType extends Comparable<? super AnyType>>void shellSort(AnyType [] a){ int j; for(int gap= a.length/2; gap> 0; gap/=2)
2017-02-24 20:06:39
230
翻译 排序--插入排序
插入排序的基本思想,假设数组前面位置的元素已经排序好,新插入一个元素a[p], 由a[p]与前面a[p-1]比较,若a[p]public static <AnyType extends Comparable<? super AnyType>>void insertSort(AnyType [] a){ int j; for(int p=1; p< a.length; p++)
2017-02-24 19:49:15
183
翻译 二叉查找树
取自JAVA书籍,数据结构与算法分析。其中remove方法添加了理解信息。1、整体源码结构public Class BinarySearchTree<AnyType extends Comparable<? super AnyType>>{ //二叉树结构 private static class BinaryNode<AnyType> { /*-----*/} privat
2017-02-20 21:42:18
194
翻译 enumerations inherit Enum
enum Apple{ Jonathan, GoldenDel, RedDel, Winesap, Cortland}class EnumDemo4{ public static void main(String args[]) { Apple ap, ap2, ap3; //Obtain all ordinal values using ordinal().
2017-02-15 21:18:30
176
翻译 Enum are Class Types
* don't instantiate a enum using new *///Use an enum Constructor, instance variable, and method.enum Apple{ Jonathan(10), GoldenDel(9), RedDel(12), Winesap(15), Cortland(8); private int price;
2017-02-15 20:57:22
209
翻译 Enumeration基础
//Enumberation Fundamentals// method/* *public static enum-type [] values();//returns an array *public static enum-type valueof(String str);//returns enumeration constant */enum Apple { Jonath
2017-02-15 20:40:34
255
翻译 String,StringBuilder,StringBuffer
String constructorString literalsString s="abc"//use string literal 1: String s= new String();2:String (char chars[])String (char chars[], int startIndex, int numChars)nexample:char chars[]={'
2017-02-15 20:05:30
298
翻译 Inner class 内部类
class Outer { string outmember; static outmemberstatic; //如果static class inner 则只能直接获取外部的static成员 class Inner { string innermember; void innerMethod(...){ //可调用 outmembe
2017-02-11 17:17:21
282
翻译 函数参数Variable-length Arguments
class VarArgs { //vaTest() uses a vararg. int...v 必须最后 static void vaTest(String msg, int...v) { System.out.println("Number of args: "+ v.length); System.out.println("Contents: ");
2017-02-11 17:09:12
688
翻译 Bubble sort
public class Bubble { public static void main(String args []) { int nums[]={99, -10, 100123, 18, -978, 5623, 463, -9, 287, 49}; int a, b, t; int size= nums.length
2017-02-11 16:32:13
223
翻译 快速排序算法
class Quicksort { static void qsort(int items[]) { qs(items, 0, items.length-1); } private static void qs(int items[], int left, int right) { int i, j; int x, y; i= le
2017-02-11 16:24:31
174
原创 比较内存地址与内容
A == B 比较的是两个的引用,是否指向同一块内存地址。 A.equals(B) 比较的是A,B里面的内容是否相同,常需要复写 Class A 的equals 内容。//比较A,B里面内容是否相同 equals 方法。public class A { String name; int age; public A (String name, int age){ t
2017-02-11 11:25:16
1271
原创 abstract class 与 interface 异同点
abstract class 类名称 //定义抽象类 { 声明数据成员; //一般方法访问修饰符 返回类型 方法名 (参数...){....}abstract 返回值的数据类型 方法名称 (参数…); //没有实体 }interface InterfaceName { final Type member= 常量;//数据成员必须赋初值abstract
2017-02-11 11:05:26
277
原创 Emacs 学习资料
常规的Emacs基本操作,网上一大推,下面主要推荐下之前几个好的配置Emacs 1、大神配置的 ps.纯英文, 很受用 http://tuhdo.github.io/index.html2、其他 http://cmgm.stanford.edu/classes/unix/emacs.html http://gongzhitaao.org/dotemacs/ http://er
2017-02-04 21:56:20
261
原创 Emacs 配置文件
emacs 的配置文件在 .emacs.d 文件夹下的,init.el,下图其他为插件安装位置。 以下是个人的之前学习后,在配置的init.el。包含了主题,自动补全符号,字体,隐藏toolbar, 行号等等。根据需要配置,另外保存一份,以后可以复制该文件再安装缺少的插件即可。(require ‘package) (add-to-list ‘package-archives
2017-02-04 21:44:26
489
原创 Emacs 互换CapsLock和Alt(option)键位
相比于Vim,更加喜欢Emacs,Emacs有丰富的插件,效率高,也很漂亮,双手键盘配合操作比较快,基本都不需要鼠标。emacs24 mac air 上使用, 而且在Eclipse,Android Studio里面均可以设置emacs为编辑器。1、首先建议capsLock 键和 control键 互换,emacs 的修饰键C(control),M(alt/option),方便快速操作。
2017-02-04 20:58:47
1314
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人