Opaque Δημοσ. 6 Νοεμβρίου 2004 Δημοσ. 6 Νοεμβρίου 2004 Estw oti exw ton parakatw kwdika : > import java.util.*; import java.io.*; public class Temp { public static void main(String args[]) { Hashtable hashTable=new Hashtable(); try { DataInputStream in=new DataInputStream(new BufferedInputStream(new FileInputStream("someFile.txt"))); String str; while((str=in.readLine())!=null) hashTable.put(new Integer(str.hashCode()),str); for(int i=0;i<args.length;i++) if(hashTable.get(new Integer(args[i].hashCode)!=null) System.out.println("Found word "+hashTable.get(new Integer(args[i].hashCode)); }catch(FileNotFoundException exc) { System.out.println("...."); }catch(Exception exc) { System.out.println("...."); } } } O parapanw kwdikas doyleyei mia xara. To mono poy kanei einai na anoigei ena arxeio (estw to somefile.txt), na diabazei mia-mia tis grammes toy, kai na apo8hkeyei th ka8e grammh se ena hash table (xrhsimopoiwntas thn class Hashtable() poy prosferei h Java). Ystera psaxnei na dei an ta orismata poy toy balame sthn grammh entolwn yparxoyn mesa sto arxeio poy molis diabasame. To problhma moy einai to ekshs : Parathrhsa oti gia orismena strings to hash code einai to idio me apotelesma na dhmioyrgeitai problhma. Gia paradeigma to hash code twn strings "Aa" kai "BB" einai to idio. Etsi, an sto arxeio den yparxei to string "Aa" alla yparxei to "BB", tote molis treksw to parapanw programmataki me orisma to "Aa" 8a moy pei oti yparxei sto arxeio. Mipws kserei kaneis pws mporw na to antimetwpisw ayto ? Elpizw na egina katanohtos... Eyxaristw
javanidhs Δημοσ. 6 Νοεμβρίου 2004 Δημοσ. 6 Νοεμβρίου 2004 Γεια χαρα! οι λυσεις για το προβλημα σου ειναι 2. ειτε αλλαζεις τον τροπο Indexing/hasing των λεξεων με τετοιο τροπο ετσι ωστε να μην δημιουργουντε duplicates και να κρατησεις...το hashtable! Ειτε θα πρεπει να χρησιμοποιησεις καποια αλλη δομη που να επιτρεπει duplicates αλλα ισως ειναι λιγο πιο δυσκολη στην ερευνα η στο γρηγορο sortarisma (List κτλ κτλ) http://www.javacaps.com/scjp_util.html
Opaque Δημοσ. 6 Νοεμβρίου 2004 Μέλος Δημοσ. 6 Νοεμβρίου 2004 Basika, 8elw na xrhsimopoihsw hashtables, giati to arxeio einai arketa megalo. Gnwrizw oti me th xrhsh hashtable xanw apo 8ema xwroy, alla kserdizw se taxythta (otan psaxnw gia kapoio stoixeio), to opoio me endiaferei. Opote, h deyterh lysh aporripteptai. Oso gia thn prwth, an katalaba kala, moy proteineis na ftiaksw mia dikia moy hash function wste na dhmioyrgei "unique numbers" gia to ka8e string?
javanidhs Δημοσ. 6 Νοεμβρίου 2004 Δημοσ. 6 Νοεμβρίου 2004 Ναι δεν υπαρχει αλλη λυση..πρπει τα στοιχεια..να μπαινουν με τροπο τετοιο που να μην υπαρχουν..διπλες καταχωρησεις!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.