摘要:
java 中String 是个对象,是引用类型基础类型与引用类型的区别是,基础类型只表示简单的字符或数字,引用类型可以是任何复杂的数据结构基本类型仅表示简单的数据类型,引用类型可以表示复杂的数据类型,还可以操作这种数据类型的行为java虚拟机处理基础类型与引用类型的方式是不一样的,对于基本类型,ja 阅读全文
摘要:
仅作为笔记 贪心算法总是可以做出当前看来是最好的选择,也就是说,它并不从整体最优上考虑,而是某种意义上的局部最优选择 特性:有一个最优方式来解决问题 随着算法的进行 将会产生两个集合 一个是被考虑了选择的候选对象 一个是本选择了抛弃的候选对象 有一个函数检查是否一个候选对象集合是否是符合问题的解答 阅读全文
摘要:
链接:http://blog.csdn.net/weinierbian/article/details/8059129/ 给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小,这叫最小生成树. 求最小生成树的算法(1) 克鲁斯卡尔算法图的存贮结构采用边集数组,且权值相等的边在数 阅读全文
摘要:
在叶子个数n以及各叶子的权值Wk确定的条件下 树的带权路经长度值最小的二叉树就是最优二叉树 也称为哈夫曼树 阅读全文
摘要:
结点的度:结点拥有子树的个数称为该结点的度 如上图 结点A的度是3 树的度:树中所有结点的度的最大值 如上图 树的度是 3 二叉树:每个结点的度不大于2 结点每棵子树的位置是明确区分左右的,不能随便改变 先中后都是相对于root结点来说的 先序遍历:A B D G C E F H 中序遍历:B G 阅读全文
摘要:
快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以 阅读全文
摘要:
冒泡算法是比较经典的排序算法 原理: 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。 算法如下: 1 packag 阅读全文
摘要:
缓存主要可分为二大类: 一、通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式; 二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查. 阅读全文
摘要:
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。 Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道( 阅读全文
摘要:
String、StringBuffer、StringBuilder区别 StringBuffer、StringBuilder和String一样,也用来代表字符串。String类是不可变类,任何对String的改变都 会引发新的String对象的生成;StringBuffer则是可变类,任何对它所指代 阅读全文