Inicio  /  Algorithms  /  Vol: 15 Par: 3 (2022)  /  Artículo
ARTÍCULO
TITULO

Key Concepts, Weakness and Benchmark on Hash Table Data Structures

Santiago Tapia-Fernández    
Daniel García-García and Pablo García-Hernandez    

Resumen

Most computer programs or applications need fast data structures. The performance of a data structure is necessarily influenced by the complexity of its common operations; thus, any data-structure that exhibits a theoretical complexity of amortized constant time in several of its main operations should draw a lot of attention. Such is the case of a family of data structures that is called hash tables. However, what is the real efficiency of these hash tables? That is an interesting question with no simple answer and there are some issues to be considered. Of course, there is not a unique hash table; in fact, there are several sub-groups of hash tables, and, even more, not all programming languages use the same variety of hash tables in their default hash table implementation, neither they have the same interface. Nevertheless, all hash tables do have a common issue: they have to solve hash collisions; that is a potential weakness and it also induces a classification of hash tables according to the strategy to solve collisions. In this paper, some key concepts about hash tables are exposed and some definitions about those key concepts are reviewed and clarified, especially in order to study the characteristics of the main strategies to implement hash tables and how they deal with hash collisions. Then, some benchmark cases are designed and presented to assess the performance of hash tables. The cases have been designed to be randomized, to be self-tested, to be representative of a real user cases, and to expose and analyze the impact of different factors over the performance across different hash tables and programming languages. Then, all cases have been programmed using C++, Java and Python and analyzed in terms of interfaces and efficiency (time and memory). The benchmark yields important results about the performance of these structures and its (lack of) relationship with complexity analysis.

 Artículos similares

       
 
Sandhya Kattayat,Smitha Josey,Asha J.V     Pág. pp. 143 - 147
The increasing availability of low-cost mobile and wireless devices and associated infrastructure heralds both opportunities and challenges for educational institutions and their teachers and learners.[1]Mobile telephones are inexpensive, accessible, and... ver más

 
Zhiheng Wang, Zhanqiang Huo, Wenbo Shi     Pág. 329 - 336
Three-party authenticated key agreement (3PAKA) protocol is an important cryptographic mechanism for secure communication, which allows two clients to generate a shared session key with the help of the server. Recently, Tan proposed a communication and c... ver más

 
Lê Tr?ng Kim,Nguy?n Quang Tu?n DOI: 10.26459/jed.v109i10.3679    
Tóm t?t: Bài báo gi?i thi?u nh?ng nét t?ng quát v? hi?n tr?ng chu?i lúa g?o t?nh Hà Tinh và th?o lu?n d?nh hu?ng cung nhu các gi?i pháp phát tri?n ti?u ngành này theo chu?i giá tr?. ? qui mô nh? hon, nhung ngh? tr?ng lúa ? Hà Tinh ph?n ánh khá t?t các d?... ver más

 
Ranko Cosic,Graeme Shanks,Sean B Maynard    
Business analytics (BA) capabilities can potentially provide value and lead to better organisational performance. This paper develops a holistic, theoretically-grounded and practically relevant business analytics capability framework (BACF) that specifie... ver más

 
Oris Krianto Sulaiman,Khairuddin Nasution,Satria Yudha Prayogi     Pág. 241 - 244
Message security in communication is very important to maintain the confidentiality and integrity of messages. The message that is sent must be conveyed in its entirety and only delivered according to its purpose. One Time Pad or OTP is an algorithm that... ver más