25. april 2001 - 12:34Der er
15 kommentarer og 3 løsninger
HASH TABLE
Der er sku noget jeg ikke forstår her. En hash table søger man på index, key. men hvis jeg skal søge på navnet michael i tabellen hvordan kan den så finde navnet når der ikke gives noget index nummer. key er jo en int og michael er en string. Jeg har forsøgt mig med en løkke der kører tabellen indtil den finder michael og så tage index\'et derfra. men det giver ikke nogfen mening da jeg jo så har fundet navnet. Er der nogen der kan komme med en forklaring eller kender et sted på nettet der omhandler hashtables
når du bruger en key(int) som indexsering kan du kun søge på denne key via din hashfunktion, alle andre colloner i dine tabel må du bruge en sekventiel søgning for at finde det du søger efter. så hvis du ikke kender keyen på michael kan du ikke udnytte dit index.......
nej selvfølig skal brugeren ikke gøre noget. dette er kun lidt uenighed om en ord \"søger\" funktionen der udfører opslagningen i hashtabellen skal skal søge i den mest sandsylige index..... du ved jo god hvad jeg mener... fx. key nr 11,22,33,44 og man bruger moduls 11 kan man få op til 4 opslag i tabellen :) søger i mest sandsynlige index
ok men så tror jeg at den med ascii værdierne virker som det bedste for man kan jo også godt tage ascii værdien af f.eks tallet 23 og så er man dækket ind hvis man vil søge både på cpr eller navn....kigger lige på det
jojo men den skal implementeres med nogle andre klasser.
det er eksamensprojekt. skal lave en lexer / parser (compiler)som skal kunne lave en analyse og checke syntaxen af følgende sql sætninger
insert select delete
foruden det skal det fungere på en client/server over INET ved hjælp af tråde...
jeg har lavet min insert statement som så ligger det der skal insertes ned i en hashtable .. jeg operere med to tupler i en kunde table og to tupler i en salary table dvs to hashtable som siden hen skal kunne joines
Jeg vil lige spørge om skal hver tupple/attribut have hver deres hashtable altså en hashtable for fornavn efternavn fra tabellen kunde
og løn timer fra tabellen salary
Hvis jeg laver det på den måde tror jeg selv at det bliver nemmere at lave en søgning og en join i øjeblikket har jeg fornavn og efternavn i en hashtable og såp er det et problem at pille enten fornavn eller efternavn ud seperat....er det ikke...
kære mickni33 du spilder din tid ved at lave index på alle dine colloner, opgaven går på at vise man kender princippet bag hashning og kan bruge det. det gør du udemærket ved kun at tillade at der søges når man kender keyen.
mit råd er at konceterer dig om clien/server med tråde/låse og joint mellem to tabeller på to forskælling server. samt en rapport om dette. det er rapporten der tæller og så selvfølig din viden om de forskellige områder til eksamen.
da jeg var til eksamen brugte vi ca 1-1.5 minut på hashning og de forskællige principper bag dette.
ps hvis du har 10 klasser med 1000 liner skulle du bruge din tid på at ryde op i din codning.
jeg lavede lexer/parser/client/server/controller/dbms server/hash 7 klasser ialt med max 500 liner ialt inclusiv komentaret.
ps jeg fik 10. selv om jeg kun havede index på keyen (en collone)
Skide godt preclean Det tror jeg er en god ide...Du kender det godt ikk? man prøver at lave det så godt som muligt og ender med at gøre det svære end man behøver.. keep it simple..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.