/** *Trida Strom *vytvari strukturu BVS *@author M.Kales */ public class Strom{ public Prvek koren; public Prvek nynejsi; /** *konstruktor tridy Strom */ public Strom(){ this.koren=null; } /** *metoda pro pridani dalsiho prvku do BVS *@param novy pridavane slovo */ public void pridejPrvek(Prvek novy){ if (koren==null){ koren=novy; } else{ int delkaNoveho=novy.hodnota.length(); nynejsi = koren; while (((Porovnej_Mensi(novy, nynejsi)==novy) && nynejsi.vlevo!= null) || ((Porovnej_Vetsi(novy, nynejsi)==novy) && nynejsi.vpravo!= null)) { if (Porovnej_Mensi(novy, nynejsi)==novy){ nynejsi = nynejsi.vlevo; } else{ nynejsi = nynejsi.vpravo; } } if (Porovnej(novy, nynejsi)){ nynejsi.cetnost++; } else{ if (Porovnej_Mensi(novy, nynejsi)==novy){ nynejsi.vlevo = novy; } if (Porovnej_Vetsi(novy, nynejsi)==novy){ nynejsi.vpravo = novy; } } } } /** *metoda pro porovnani slov podle abecedy *@param prvek1 porovnavane slovo *@param prvek2 porovnavane slovo *@return vetsi slovo (podle abecedy) */ public static Prvek Porovnej_Vetsi(Prvek prvek1, Prvek prvek2) { int delka=0; String retezec1=prvek1.hodnota; String retezec2=prvek2.hodnota; if (retezec1.length()>retezec2.length()){ delka=retezec2.length(); } else{ delka=retezec1.length(); } for (int i=0; iretezec2.charAt(i)){ return prvek1; } if (retezec1.charAt(i)retezec2.length()){ return prvek1; } if (retezec1.length()retezec2.length()){ delka=retezec2.length(); } else{ delka=retezec1.length(); } for (int i=0; iretezec2.charAt(i)){ return prvek2; } if (retezec1.charAt(i)retezec2.length()){ return prvek2; } if (retezec1.length()