1

我想写一个程序来存储学生列表(每个学生都有姓名,生日,地址,......),我希望这个程序在搜索学生方面表现良好(例如 find student with name == ' Peter' and address='NY'),将新学生插入列表,学生列表非常大。我不知道什么是最好的数据结构。感谢您的帮助。

4

2 回答 2

2

然后你在谈论这样的事情:

这些是实现您提出的性能要求的高级数据结构。

http://en.wikipedia.org/wiki/B-tree

在计算机科学中,B 树是一种树形数据结构,它保持数据的排序并允许在对数时间内进行搜索、顺序访问、插入和删除。B-tree 是二叉搜索树的推广,其中一个节点可以有两个以上的子节点。(Comer 1979, p. 123) 与自平衡二叉搜索树不同,B 树针对读取和写入大块数据的系统进行了优化。它通常用于数据库和文件系统。

http://en.wikipedia.org/wiki/Hash_table

在计算中,哈希表(也称为哈希映射)是一种用于实现关联数组的数据结构,关联数组是一种可以将键映射到值的结构。哈希表使用哈希函数计算存储桶或槽数组的索引,从中可以找到正确的值。

于 2013-09-06T03:06:17.590 回答
0

听起来你正在“重新发明轮子”的路上。您要求的是数据库之类的东西。您可以考虑一些内存数据库解决方案,例如 H2 或 Derby。

于 2013-09-06T02:56:46.517 回答