哈希表又叫散列表,是实现字典操作的一种有效数据结构。哈希表的查询效率极高,在没有冲突(后面会介绍)的情况下可做到一次存取便能得到所查记录,在理想情况下,查找一个元素的平均时间为O(1)(最差情况下散列表中查找一个元素的时间与链表中查找的时间相同:O(n),但实际情况中一般散列表的性能是比较好的)。...
分类:
编程语言 时间:
2015-09-25 08:29:49
阅读次数:
203
在前端工程师中,常常有一种声音,我们为什么要学数据结构与算法,没有数据结构与算法,我们一样很好的完成工作。实际上,算法是一个宽泛的概念,我们写的任何程序都可以称为算法,甚至往冰箱里放大象,也要通过开门,放入,关门这样的规划,我们也可以视作为一种算法。可以说:简单的算法是人类的本能。而算法的知识的学习...
分类:
编程语言 时间:
2015-09-23 01:04:12
阅读次数:
217
节点:/**二叉树节点*/publicclassNode{//数据项publiclongdata;//数据项publicStringsData;//左子节点publicNodeleftChild;//右子节点publicNoderightChild;/***构造方法*@paramdata*/publicNode(longdata,StringsData){this.data=data;this.sData=sData;}}二叉树:/**二叉树..
分类:
编程语言 时间:
2015-09-22 00:12:12
阅读次数:
200
红黑树:publicclassRBTree{privatefinalNodeNIL=newNode(null,null,null,Color.BLACK,-1);privateNoderoot;publicRBTree(){root=NIL;}publicRBTree(Noderoot){this.root=root;}//插入节点publicvoidrbInsert(Nodenode){Nodeprevious=NIL;Nodetemp=root;while(temp!=NIL){previ..
分类:
编程语言 时间:
2015-09-22 00:12:12
阅读次数:
309
汉诺塔的问题解决:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能..
分类:
编程语言 时间:
2015-09-21 01:54:56
阅读次数:
239
一,简单DemopublicclassRecursion{ publicstaticvoidmain(String[]args){ test(100); } publicstaticvoidtest(intn){ if(n==0){ return; } System.out.println(n); test2(n-1); }}二,三角数字publicclassTriangle{ publicstaticintgetNumber(intn){ inttotal=0; w..
分类:
编程语言 时间:
2015-09-21 01:54:29
阅读次数:
265
希尔排序:/**希尔排序*/publicclassShellSort{ /** *排序方法 */ publicstaticvoidsort(long[]arr){ //初始化一个间隔 inth=1; //计算最大间隔 while(h<arr.length/3){ h=h*3+1; } while(h>0){ //进行插入排序 longtmp=0; for(inti=h;i<arr.length;i..
分类:
编程语言 时间:
2015-09-21 01:54:18
阅读次数:
205
二叉树节点:/**二叉树节点*/publicclassNode{ //数据项 publiclongdata; //左子节点 publicNodeleftChild; //右子节点 publicNoderightChild; /** *构造方法 *@paramdata */ publicNode(longdata){ this.data=data; } }二叉树类:/**二叉树类*/publicclassTree{ //根节点 pr..
分类:
编程语言 时间:
2015-09-21 01:52:14
阅读次数:
212
快速排序:/**快速排序*/publicclassQuickSort{ /** *划分数组 */ publicstaticintpartition(longarr[],intleft,intright,longpoint){ intleftPtr=left-1; intrightPtr=right; while(true){ //循环,将比关键字小的留在左端 while(leftPtr<rightPtr&&arr[++le..
分类:
编程语言 时间:
2015-09-21 01:52:00
阅读次数:
149
节点:/**二叉树节点*/publicclassNode{ //数据项 publiclongdata; //数据项 publicStringsData; //左子节点 publicNodeleftChild; //右子节点 publicNoderightChild; /** *构造方法 *@paramdata */ publicNode(longdata,StringsData){ this.data=data; this.sData=sData; }..
分类:
编程语言 时间:
2015-09-21 01:46:48
阅读次数:
232