3

目标:

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

要求:

  • 对于序列“X1,...,Xn”中的每个 Xi,它都是一个 256 位长的字符串。
  • 输入序列“X1,...,Xn”可能具有相同的元素,这意味着可能存在两个元素Xi和Xj以满足Xi=Xj。
  • 对于“X1,...,Xn”序列中的相同元素,我们只输出有序列表中的一个元素。
  • 函数的速度应该尽可能快。函数中使用了多少存储量并不重要。
  • 序列“X1,...,Xn”的大小为n,n是不超过10,000的数字。

我的想法:

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

  • 输入Xi的时候,首先搜索Hashtable,判断Xi是否已经在上面的数组中。如果是,就扔掉它。如果没有,请将 Xi 添加到 Hashtable 和 Array。

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

问题:

  • 对于 Merkle Patricia Tree (Ethereum) 和 Hashtable,我应该选择哪一个?
  • 对于 Merkle Patricia Tree (Ethereum) 和 Hashtable,哪个搜索速度更快?
  • 还是有更好的数据结构来满足这个功能?
4

0 回答 0