Thursday, 2 May 2013

HashProbing

public class LinearProbHashing {
int[] table;
int size;

LinearProbHashing(int s){
size = s;
table = new int[size];
}

int rehash(int key){
return ((key+1)%size);
}

public void insert(int key){
int hash = key%size;
int RH = 0;
if(table[hash] == 0){
table[hash] = key;
}else{
RH = rehash(key);
while(RH != 0){
RH = rehash(RH++);
table[RH] = key;
}
}
}

public void printhashtable(){
for(int i=0; i<size; i++){
System.out.print(" "+table[i]);
}
}
}

=============================================

public class HashDemo {
public static void main(String[] args) {
// HashTable table1 = new HashTable(10);
LinearProbHashing table1 = new LinearProbHashing(10);
table1.insert(345);
table1.insert(245);
table1.insert(344);
table1.insert(312);
table1.insert(335); 
table1.printhashtable();
}
}

Hashing


class Node{
int data;
Node next;

Node(int d){
data=d;

}

}
public class HTable {
Node [] Table;
int size;
HTable(int s){
size=s;
Table =new Node[size];

}
public void insert(int key){
Node newNode= new Node(key);
int hash =key%size;

if(Table[hash]==null)
Table[hash] = newNode;
else{
Node HashRef=Table[hash];
newNode.next =HashRef;
Table[hash] =newNode;


}
}
public void printhashtable(){
Node href = null;
for(int i=0; i<size; i++){
href = Table[i];
System.out.print("  " + href.data);
href = href.next;

}
System.out.println(" ");

}

}

==================================================



public class HDemo {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
         HTable table1= new HTable(15);
         table1.insert(345);
         table1.insert(445);
         table1.insert(245);
         table1.insert(045);
         table1.insert(145);
         table1.printhashtable();
       
}

}