数据结构项目的想法?

时间:2016-03-08 22:41:24

标签: algorithm data-structures tree hashtable

首先这个问题可能有点宽泛,如果有的话,是否有任何与stackoverflow相关的网站,这个问题不会被标记为广泛?

无论如何我有一个项目,对于那个项目,我需要使用数据结构。我无法想到任何好的项目。所以我在这方面需要一些帮助。但是我想做一个复杂的项目。我不想做像Dictionary这样的简单项目或某种文件管理系统,如“音乐管理系统”或“课程先决条件系统”等。我当时正在考虑将一些独特的数据结构实现为一个独特的项目。

我最初的想法是使用树数据结构实现霍夫曼编码,或者使用splay树等制作一些项目(我还没有决定)。所以你们有什么建议?

我的主要要求是我使用的实际数据结构方面的创造力以及主要项目(即数据结构实施方面)的创造性。由于它具有教育意义,我最不关心它在现实场景中是否有用,或者它是否有效等等。

由于

2 个答案:

答案 0 :(得分:0)

您可以使用trie数据结构实现电话目录。

<强>更新

您可以自己实施judy数组或绳索数据结构。或者可能是最便宜的修复网络的方式。

答案 1 :(得分:0)

前段时间我开发了PH-Tree数据结构。它是一个类似于kd-tree,quadtree或R-Tree的多维索引。 它有一些很大的优势:

  • 内存非常紧凑(添加了一百万个条目后)。对于高维度,它可能比包含相同数据点的简单float []需要更少的内存。
  • 使用大型数据集进行扩展(我测试了200,000,000个点)。
  • 它更喜欢群集数据,例如地理地图,而不是均匀分布的数据。
  • 更新单个点或矩形时的出色性能,因为所有更新最多会影响两个树节点。
  • 优秀的kNN表现
  • 窗口查询性能与其他树结构相同。

这不是虚假的科学,它已在同行评审的备受尊敬的会议(SIGMOD)上发表。

我不建议重新实现它,因为它有点复杂。但您可以使用它来实现其他项目中的功能,例如将其添加到Spatial Hadoop项目,或改进其中一个Open Street Map frameworks,例如Osmosis。