错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Execution Efficiency of a Sequential, Multi-Threaded, and a Parallel Search for a Structured Data in a Symbol Table Implemented in a Binary Search Tree, an Array, and in a Linked List

  • Igor Košt’ál

摘要

A symbol table is an abstract mechanism used in many kinds of applications, including search applications, to store key-value pairs (information), where we can later search for and retrieve the value by specifying a key. For an effective symbol table implementation, it is important to choose an appropriate data structure. We have created a C# .NET application that allows to search for values, structured data of persons, according to given keys, e.g., first names and surnames, or phone numbers, in a symbol table (a phone book) that is implemented in a binary search tree, an array, and in a linked list sequentially, on multiple threads and in parallel using its instance methods, while the application measures the execution times of particular searches. By comparing these execution times, we were finding which of these data structures allows more efficient searching in a sequential search, multi-threaded, or in a parallel search.