Sponsored Content
Full Discussion: Hash tables concepts
Top Forums Programming Hash tables concepts Post 302435854 by Corona688 on Thursday 8th of July 2010 10:38:59 AM
Old 07-08-2010
What kind of hash table? There are several.

The basic idea is to make some sort of hash or scramble of the key, and turn that into an array index. This means, best-case, it only has to do one step to find the data -- create the hash, check the array, done. The drawback is, of course, it's possible for two values to try and use the same index. There are various ways of coping with this.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Returning Hash Tables in Perl

Hi: Does anybody know how to return hash tables created in a function? I have something like so: %a_hash_table = build_a_hash_table(); sub build_a_hash_table { my(%hash_table); #some code to build hash table: "%hash_table" for e.g return %hash_table; } ----> This... (1 Reply)
Discussion started by: mirzabhai
1 Replies

2. UNIX for Dummies Questions & Answers

Passing Hash Tables to Subroutines

Hi: How do I pass a hash table down to a subroutine along with some other variables? For example, I have say a subroutine play_with_hash: sub play_with_hash { my( $var1, $var2, %my_hash ) = @_; #do stuff with %my_hash ........... } Then I want to call the subroutine... (1 Reply)
Discussion started by: mirzabhai
1 Replies

3. Programming

hash tables, pthread_key_create

I want to store a bunch of pthread_t types in a hash table, but since pthread_t is not an integer value, I cannot hash it. I was hoping to store a unique nonzero as key 0 for each thread with thread-specific data ala pthread_key_create/pthread_setspecific, but but as it turns out only the first... (2 Replies)
Discussion started by: Corona688
2 Replies

4. Shell Programming and Scripting

Converting tables of row data into columns of tables

I am trying to transpose tables listed in the format into format. Any help would be greatly appreciated. Input: test_data_1 1 2 90% 4 3 91% 5 4 90% 6 5 90% 9 6 90% test_data_2 3 5 92% 5 4 92% 7 3 93% 9 2 92% 1 1 92% ... Output:... (7 Replies)
Discussion started by: justthisguy
7 Replies

5. Programming

Compression algorithm( usage of Hash tables)

Hi All, i was browsing thru' the opensource glib(deflate/inflate) algorithms.. which i am supposed to implement. I came across Dictionary usage (Hash tables), LZ77 algorithm and Huffman coding in that.. i couldn't follow on the Hash table implementation in that. Anybody there to give some... (5 Replies)
Discussion started by: rvan
5 Replies

6. Shell Programming and Scripting

Print Entire hash list (hash of hashes)

I have a script with dynamic hash of hashes , and I want to print the entire hash (with all other hashes). Itried to do it recursively by checking if the current key is a hash and if yes call the current function again with refference to the sub hash. Most of the printing seems to be OK but in... (1 Reply)
Discussion started by: Alalush
1 Replies

7. Shell Programming and Scripting

Perl Hash:Can not keep hash data in the same order that it was inserted

Can Someone explain me why even using Tie::IxHash I can not get the output data in the same order that it was inserted? See code below. #!/usr/bin/perl use warnings; use Tie::IxHash; use strict; tie (my %programs, "Tie::IxHash"); while (my $line = <DATA>) { chomp $line; my(... (1 Reply)
Discussion started by: jgfcoimbra
1 Replies

8. UNIX for Dummies Questions & Answers

Hash Tables of Buffers

Hello, I want to know how hash tables for buffers were implemented in Unix and now, in linux how they are implemented ? I am aware of what hashing is..also quite familiar with Unix/Linux. Special case is how device numbers comes into picture..I am curious ! If possible consider some... (0 Replies)
Discussion started by: istevan
0 Replies

9. Shell Programming and Scripting

Compare values of hashes of hash for n number of hash in perl without sorting.

Hi, I have an hashes of hash, where hash is dynamic, it can be n number of hash. i need to compare data_count values of all . my %result ( $abc => { 'data_count' => '10', 'ID' => 'ABC122', } $def => { 'data_count' => '20', 'ID' => 'defASe', ... (1 Reply)
Discussion started by: asak
1 Replies

10. Shell Programming and Scripting

Dynamically parse BibTeX and create hash of hash

Hello gurus, Iam trying to parse following BibTex file (bibliography.bib): @book{Lee2000a, abstract = {Abstract goes here}, author = {Lee, Wenke and Stolfo, Salvatore J}, title = {{Data mining approaches for intrusion detection}}, year = {2000} } @article{Forrest1996, abstract =... (0 Replies)
Discussion started by: wakatana
0 Replies
ici::doc::pod3::sdrhash(3)				       ICI library functions					ici::doc::pod3::sdrhash(3)

NAME
sdrhash - Simple Data Recorder hash table management functions SYNOPSIS
#include "sdr.h" Object sdr_hash_create (Sdr sdr, int keyLength, int estNbrOfEntries, int meanSearchLength); int sdr_hash_insert (Sdr sdr, Object hash, char *key, Address value, Object *entry); int sdr_hash_delete_entry (Sdr sdr, Object entry); int sdr_hash_entry_value (Sdr sdr, Object hash, Object entry); int sdr_hash_retrieve (Sdr sdr, Object hash, char *key, Address *value, Object *entry); int sdr_hash_count (Sdr sdr, Object hash); int sdr_hash_revise (Sdr sdr, Object hash, char *key, Address value); int sdr_hash_remove (Sdr sdr, Object hash, char *key, Address *value); int sdr_hash_destroy (Sdr sdr, Object hash); DESCRIPTION
The SDR hash functions manage hash table objects in an SDR. Hash tables associate values with keys. A value is always in the form of an SDR Address, nominally the address of some stored object identified by the associated key, but the actual significance of a value may be anything that fits into a long. A key is always an array of from 1 to 255 bytes, which may have any semantics at all. Keys must be unique; no two distinct entries in an SDR hash table may have the same key. Any attempt to insert a duplicate entry in an SDR hash table will be rejected. All keys must be of the same length, and that length must be declared at the time the hash table is created. Invoking a hash table function with a key that is shorter than the declared length will have unpredictable results. An SDR hash table is an array of linked lists. The location of a given value in the hash table is automatically determined by computing a "hash" of the key, dividing the hash by the number of linked lists in the array, using the remainder as an index to the corresponding linked list, and then sequentially searching through the list entries until the entry with the matching key is found. The number of linked lists in the array is automatically computed at the time the hash table is created, based on the estimated maximum number of entries you expect to store in the table and the mean linked list length (i.e., mean search time) you prefer. Increasing the maximum number of entries in the table and decreasing the mean linked list length both tend to increase the amount of SDR heap space occupied by the hash table. Object sdr_hash_create(Sdr sdr, int keyLength, int estNbrOfEntries, int meanSearchLength) Creates an SDR hash table. Returns the SDR address of the new hash table on success, zero on any error. int sdr_hash_insert(Sdr sdr, Object hash, char *key, Address value, Object *entry) Inserts an entry into the hash table identified by hash. On success, places the address of the new hash table entry in entry and returns zero. Returns -1 on any error. int sdr_hash_delete_entry(Sdr sdr, Object entry) Deletes the hash table entry identified by entry. Returns zero on success, -1 on any error. Address sdr_hash_entry_value(Sdr sdr, Object hash, Object entry) Returns the value of the hash table entry identified by entry. int sdr_hash_retrieve(Sdr sdr, Object hash, char *key, Address *value, Object *entry) Searches for the value associated with key in this hash table, storing it in value if found. If the entry matching key was found, places the address of the hash table entry in entry and returns 1. Returns zero if no such entry exists, -1 on any other failure. int sdr_hash_count(Sdr sdr, Object hash) Returns the number of entries in the hash table identified by hash. int sdr_hash_revise(Sdr sdr, Object hash, char *key, Address value) Searches for the hash table entry matching key in this hash table, replacing the associated value with value if found. Returns 1 if the entry matching key was found, zero if no such entry exists, -1 on any other failure. int sdr_hash_remove(Sdr sdr, Object hash, char *key, Address *value) Searches for the hash table entry matching key in this hash table; if the entry is found, stores its value in value, deletes the entry, and returns 1. Returns zero if no such entry exists, -1 on any other failure. void sdr_hash_destroy(Sdr sdr, Object hash); Destroys hash, destroying all entries in all linked lists of the array and destroying the hash table array structure itself. DO NOT use sdr_free() to destroy a hash table, as this would leave the hash table's content allocated yet unreferenced. SEE ALSO
sdr(3), sdrlist(3), sdrtable(3) perl v5.14.2 2012-05-25 ici::doc::pod3::sdrhash(3)
All times are GMT -4. The time now is 02:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy