储存成绩用什么数据结构比较好?

2012-04-08 17:14:54 +08:00
 laskuma
突然想到这个问题。在做一个类似的project, 一开始单纯只需要知道学生ID对数据进行操作就行了,hashtable就成了最好的选择。然而紧接着就要引入内部的排序,那种数据结构比较好呢?
想用数组映射node来模拟堆排不知道效率怎么样
3429 次点击
所在节点    程序员
15 条回复
likuku
2012-04-08 17:18:00 +08:00
多字段还是用传统SQL的吧。小规模sqlite就行了。
laskuma
2012-04-08 17:21:48 +08:00
@likuku 只能单纯用c写。。其实原题是一个高频交易系统。。。
alsotang
2012-04-08 17:32:32 +08:00
@laskuma 数据库都不给用啊?是学校的作业还是?
laskuma
2012-04-08 17:40:53 +08:00
@alsotang 学校阿 读一大堆数据内部存起来 然后按照要求操作 开第二个文件排序输出
laskuma
2012-04-08 17:41:23 +08:00
@alsotang 主要是现在我的太慢了。。。比一大神慢10倍我不淡定了
alsotang
2012-04-08 19:00:41 +08:00
@laskuma ...这个还真是帮不上了你....因为明显要用数据库的东西却要用C来实现的话,只能坐等底层技术高人出现。。
sutar
2012-04-08 19:04:25 +08:00
淡定吧。。我们有道题让用汇编语言统计成绩。。
blank_dlh
2012-04-08 19:58:59 +08:00
链表可以不。。。
sNullp
2012-04-08 20:06:57 +08:00
我其实不是很清楚lz面临的问题,只是想到可能用最小堆能快一些?
chloerei
2012-04-08 20:19:11 +08:00
根据插入序存数组,ID递增整数,根据查询需求再做索引树(Btree之类)

其实这是一般数据库的工作原理
laskuma
2012-04-09 03:36:50 +08:00
@blank_dlh 本来就是用得链表 但是插排效率太低。。总数据差不多两亿行吧
laskuma
2012-04-09 03:38:44 +08:00
@chloerei 谢谢了!我去查一下btree。暂时还没学到数据结构的东西,还得自学。。
laskuma
2012-04-09 03:39:32 +08:00
@sutar 追求最快的心阿O_O
laskuma
2012-04-09 03:39:46 +08:00
@sNullp 也许吧
eric_q
2012-04-09 08:25:51 +08:00
B树+1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/31688

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX