kisscjy 发表于 2008-6-4 22:40

想问一下图书馆系统用什么数据结构来做???

我们现在要做大作业
做图书馆管理, 我想问一下各位用什么数据结构来做好呢??

一开始我想用BST来做的,但是题目要
书名查询,作者姓名查询,出版社名查询
用BST好像只能用一个作为关键码作为比较来建立树~~


而题目是要求可以用任意3个关键码来查询~~~

谢谢大家不吝赐教~~~~

zheng2bao 发表于 2008-6-5 11:08

你是学习图书馆管理的吗?

kisscjy 发表于 2008-6-5 17:50

不是,我学编程的~~


只是想知道有什么好的数据结构可以实现3种关键字的搜索~~~

bclion 发表于 2008-6-6 19:25

建议用  AVLtree 这是一个height平衡的BST。insert, search 运行时间全都能保证在O(lg n)。如果任务是以search为主的话。O(lg n)是一个不错的结果。

kisscjy 发表于 2008-6-7 11:07

楼上的,构造BST只能按照一个关键码来建立的
比如我用书本的名字来作为比较码, 那我可以建立一科BST树


但是我又要用作者名字,出版社名字做为查找,那只能把一科树遍历一次才能找到啊???

leeco 发表于 2008-6-7 18:04

用顺序表存储即可。
然后分别建立三个关键字的索引

kisscjy 发表于 2008-6-7 19:51

我现在也是用顺序链表来做的~~

现在想问一下有没有更高效的数据结构~~~~

zjl138 发表于 2008-6-7 20:17

LS的签名好强~~~~~

leeco 发表于 2008-6-7 21:37

[quote][bo][un]kisscjy[/un] 在 2008-6-7 19:51 的发言:[/bo]

我现在也是用顺序链表来做的~~

现在想问一下有没有更高效的数据结构~~~~ [/quote]

你建立索引了吗?
如果你建立了,对任何一个关键字的查询都是O(logn)的,理论上已经不存在更高效的了

kisscjy 发表于 2008-6-8 10:43

[quote][bo][un]leeco[/un] 在 2008-6-7 21:37 的发言:[/bo]



你建立索引了吗?
如果你建立了,对任何一个关键字的查询都是O(logn)的,理论上已经不存在更高效的了 [/quote]

小弟愚昧,希望楼上能更详细的说明一下~~~

luoyipeng 发表于 2008-6-18 15:33

[em12] 嘻嘻  我也是在做这个

页: [1]

编程论坛