- 浏览: 6705 次
最新评论
文章列表
HashTable的Java实现及性能对比
- 博客分类:
- 数据结构
1、HashTable的概述
从基本层面讲,数据结构有数组与链表两种。数组具有查找快,但插入耗时的特点;链表具有插入快,但查找费时的特点。有没有可能在查找与插入之间取得平衡呢?哈希表的诞生回答了这个问题。
构建一个好的哈希表,主要得考量哈希函数与解决冲突这两面。不管是哈希函数,还是解决冲突,往深里挖都是可以走得很远很远。
2、实现哈希表的思路
直接上思维导图,思维上建立了,写个哈希表就不那么费力了。
public class HashTable<K, V> {
private int size;//元素个数
private st ...
java中计算百分比
- 博客分类:
- java基础
用到了NumberFormat类与DecimalFormat类,直接上代码:
public class Test {
static int num1=8,num2=9;
public static void main(String[] args) {
//创建一个数值格式化对象
java.text.NumberFormat numberformat=java.text.NumberFormat.getInstance();
//设置精确到小数点后2位
numberformat.setMaximumFractionDigits(2);
...
数据结构之线性表——顺序表
- 博客分类:
- 数据结构
<1>线性表
线性表,顾名思义,其组成元素间具有线性关系的一种结构。
(Ps:两个变量之间存在一次函数关系,就称它们之间存在线性关系。。。更通俗一点讲,如果把这两个变量分别作为点的横坐标与纵坐标,其图 ...
前面实现了顺序队列,这里实现链式队列。
设front和rear分别指向队头和队尾节点,入队操作将新节点链在队尾节点后,并使rear指向新队尾节点;出队操作,当队列不空时,取得队头节点,删除之,并使front指向后继节点。
直接上代码:
/**
* 链式队列类
* @author Administrator
*
*/
public class LinkedQueue {
private Node front,rear;
private int size; //存储节点个数
public LinkedQueue(){
this.front=this.r ...
深感学习一个知识点,不能囫囵吞枣。
首先得对一个概念有正确(开始不一定正确,但至少得头脑清晰)的认知,再尝试按照自己的理解去练习写代码,这样才能真的学到东西。
队列是一种特殊的线性表,特殊之处在于限制 ...
链表的含义是指线性表的链式存储。
链表有单链表,双链表,循环链表,这里只给出带头结点的单链表代码。
/**
* 带头结点的单链表类
* @author Administrator
*
*/
public class LinkedNode {
public Node root;//头结点
public Node tail;// 尾节点
public int size;//单链表长度
/**
* 在单链表末尾添加节点的方法
* @param node要添加的节点
*/
public boolean add ...
1、继承:是面向对象编程的三大特征之一,之所以使用继承是因为这样我们可以减少代码的冗余,提高编程效率,并且这也体现现实中真实存在的类与类之间的关系。
2、Java继承关键字与格式
关键字:extends
public class 类名(子类,派生类) extends 类名(父类,基类,超类 ){
}
例:public class UNstudent extends Student{
}
在这里UNsutudent 就继承了Student类,具体就是继承了Student类中的属性以及方法。
注意:java的继承具有单继承的特点,即每个子类只能有一个直接父类。
3、子类继承到父类的哪些 ...
public class LanjieStudent {
private String name1="老师";
private String name2="蓝杰学员";
private String net="http://www.iteye.com";
public void study(){
System.out.println(name1+"说:"+name2+"要经常访问"+net+",并在上面写博客!");
}
}
public class ...