# **************************************************
# Maple5.4 code for visualizing the evolution of clustering
# in Linear Probing Hashing
# **************************************************

build:=proc(m,n,s) local T, i, j, l, stp:
l:=NULL;
for j from 0 to m-1 do T[j]:=0; od;
for i from 1 to n do
stp:=iquo(i,s);
j:=rand() mod m;
while T[j mod m]<>0 do
j:=j+1 mod m; od;
T[j]:=1;
if i mod s =0 then
l:=l, remove(proc(x) evalb(op(2,x)=0) end,
[seq([j,-T[j]*stp],j=0..m-1)]); fi;
od;
[l];
end;


build(80,60,5):
plot(",style=POINT,color=blue,axes=none,thickness=3,symbol=circle);