我想写一个程序来存储学生名单(每个学生都有姓名,出生日,地址,.....),我想这个程序是很好的搜索学生的表现(比如找名字的学生) =='彼得'和地址='纽约'),并将新学生插入列表,学生列表非常大。我不知道什么是最好的数据结构。感谢您的帮助。
答案 0 :(得分:2)
然后你在谈论类似的东西:
这些是高级数据结构,可以满足您的性能要求。
http://en.wikipedia.org/wiki/B-tree
在计算机科学中,B树是保存数据的树数据结构 排序并允许搜索,顺序访问,插入和 对数时间的删除。 B树是a的概括 二进制搜索树,其中一个节点可以有两个以上的子节点。 (Comer 1979,p.123)与自平衡二元搜索树不同, B树针对读取和写入大块的系统进行了优化 数据。它通常用于数据库和文件系统。
http://en.wikipedia.org/wiki/Hash_table
在计算中,哈希表(也是哈希映射)是用于的数据结构 实现一个关联数组,一个可以映射键的结构 值。哈希表使用哈希函数来计算索引 存储桶或插槽的数组,可以从中找到正确的值。
答案 1 :(得分:0)
听起来你正在重新发明轮子"。您要求的是数据库之类的东西。您可以考虑一些内存数据库解决方案,例如H2或Derby。