Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search Merkle Patricia树(以太坊)和哈希表,哪一个搜索速度更快?_Search_Data Structures_Hashtable_Ethereum_Patricia Trie - Fatal编程技术网

Search Merkle Patricia树(以太坊)和哈希表,哪一个搜索速度更快?

Search Merkle Patricia树(以太坊)和哈希表,哪一个搜索速度更快?,search,data-structures,hashtable,ethereum,patricia-trie,Search,Data Structures,Hashtable,Ethereum,Patricia Trie,目标: 我想实现一个函数,它有一系列输入“X1,…,Xn”,并输出一个有序列表“Xp,…,Xq”,其中所有元素都是不同的,但都是有序的 要求: 序列x1,…,xn中的每一个席,它是一个256位长字符串。 输入序列“x1,…,Xn”可能具有相同的元素,这意味着存在两个元素席席和XJ来满足Xi=XJ。< /LI> 对于“X1,…,Xn”序列中的相同元素,我们只在有序列表中输出一个元素 功能的速度应尽可能快。而且函数中使用了多少存储容量并不重要 序列“X1,…,Xn”的大小是n,n是不超过10000

目标:

我想实现一个函数,它有一系列输入“X1,…,Xn”,并输出一个有序列表“Xp,…,Xq”,其中所有元素都是不同的,但都是有序的

要求:

  • 序列x1,…,xn中的每一个席,它是一个256位长字符串。
  • 输入序列“x1,…,Xn”可能具有相同的元素,这意味着存在两个元素席席和XJ来满足Xi=XJ。< /LI>
  • 对于“X1,…,Xn”序列中的相同元素,我们只在有序列表中输出一个元素
  • 功能的速度应尽可能快。而且函数中使用了多少存储容量并不重要
  • 序列“X1,…,Xn”的大小是n,n是不超过10000的数字
我的想法:

  • 我使用一个数组来存储最初为空的序列

  • >P>输入XI时,首先搜索哈希表判断席席是否已在上述数组中。如果是,就把它扔了。如果没有,则将席添加到哈希表和数组。

  • 如果输入了序列“X1,…,Xn”的所有元素,我会对数组排序并输出它

问题:

  • 还有Merkle Patricia Tree(以太坊)和哈希表,哪一个 我应该选择吗
  • 对于Merkle Patricia树(以太坊)和哈希表,哪一个搜索速度更快
  • 或者是否有更好的数据结构来满足此功能

你可以考虑用哈希表实现它,看看它是否足够快。如果您需要更快,那么可以尝试其他实现。如果平衡二叉树也是考虑因素,那么它是否比哈希表更快?平衡二叉树的代价是否高于哈希表?