![]() |
|
[C] Hash tables - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: [C] Hash tables (/showthread.php?tid=5301) |
[C] Hash tables - zeguel - 12-03-2010 20:52 Boas, Precisava que alguem me arranja-se um exemplo duma hash table com chain ... ![]() Vou ser mais preciso, tenho q gerir um grande nr de nomes, e tenho q ter um "sistema" que me permita fazer um search, vou usar hash tables pra isso, mas então lembrei m que caso apareçam 2as,3s ou até 1000 'Ana Maria' vou ter um índice igual... entao das 2as uma ou arranjo maneira de qnd ter um nome repetido somar um nr e assim passar pro indice seguinte ou crio um array no indice qnd tenho nomes iguais e assim mostro as ocorrências dos nomes.... Agradecia tb q se vos ocorrer algum método diferente, escrevam... Hasta, gracias RE: [C] Hash tables - Bruno Bernardino - 12-03-2010 20:59 Honestamente não percebi porque precisas das Hash tables, qual o teu problema nem o exemplo que queres... Faz assim, diz em que linguagem queres fazer isso, quais as limitações (se existirem), os teus conhecimentos da linguagem e de algoritmia, qual o problema em si (ou seja, o que tem de acontecer), e qual a tua dificuldade. RE: [C] Hash tables - Ferreira - 12-03-2010 21:19 Mudando ligeiramente de assunto, se o nome se pode repetir talvez não seja boa ideia usar (apenas) o nome como índice. Isto não quer dizer, no entanto, que as hash tables com cadeia sejam uma má escolha. RE: [C] Hash tables - zeguel - 12-03-2010 21:26 É em C... eu tinha metido no nome da thread Pronto... Imagina que tens 20000 pessoas e essas pessoas estão relacionadas entre si "tipo rede social" e eu queria que fosse possível criar um search por nome, dai as Hash tables pra ser mais rápida a pesquisa...só que as Hash tables criam um valor pro nome, e se eu tiver um nome igual tenho um valor igual, por isso é que queria a chain na Hash table... Ou seja, eu tenho um grafo com os "utilizadores" e as suas respectivas relações, e depois quero que seja fácil pesquisar por nome e assim encontrar um amigo, mas neste trabalho eu tenho que ter em conta a rapidez do processamento... É um pc dificil de explicar, tb tenho q dizer que os meus conhecimentos em Algoritmos são muito lineares, mas isso não é problema pq tenho como me desenrascar nesse campo ... ahh e tenho bons conhecimentos em C... (12-03-2010 21:19)Ferreira Escreveu: Mudando ligeiramente de assunto, se o nome se pode repetir talvez não seja boa ideia usar (apenas) o nome como índice. Pois mas é me pedido isso ... por isso é que eu pensei na Chain... RE: [C] Hash tables - zeguel - 26-03-2010 18:54 Parece q resolvi o meu problema, e como nao vi nada aqui a ajudar, vou colocar o meu exemplo nao vá este ajudar alguem ![]() ![]() Código: typedef struct utilizador {Entao, o q eu fiz foi criar a chain na tabela de hash quase como se fosse uma lista ligada, ou seja qnd vejo q o índice q tou a preencher já nao é nulo, crio o "nodo" da ligação como nas listas ligadas... Atenção q o meu exemplo pode ser muito rudimentar e mal formulado etc... mas pra mim serviu, e pode ser q ajude alguem ![]() ...
|