- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于 SBT 和 AVL 等六种数据结构的速度比较
by sqybi
前言
由于手中有大量的关于 cashier 这道题的程序 ,而最近又听说了陈启峰创造了一个 SBT,所以突发奇
想,想通过 cashier 这道题测试一下各种数据结构哪个更快 ,也正好完成winsty 对 SBT 的测试。
参加评测的算法有:
朴素的快排加数组模拟算法 (sqybi 的程序)
朴素的二分加数组模拟算法 (sqybi 的程序)
Treap(标程 )
AVL(标程 )
SBT(sqybi 的程序 )
树状数组 (感谢Yan JiZhou 提供程序 )
线段树 (感谢Zhang QiaoChu 提供程序 )
GBT(感谢 Jin Lin 提供程序 ,可惜还不完善,有 RE)
其中前两种是为了和后面的各种数据结构进行一个对比 ,显然那两种算法和后面的算法在时间复杂度
上没有可比性 ,从后面的测试也可以看出这一点。特别说明 ,那个GBT 是 Jin Lin 称他原创的一个数据结
构——Golden Balanced Tree,但被某些人指出可能是 AVL,这个程序写的不太对 ,但是GBT 的正确性
已经在另一道题目里验证了 (就是已经AC 了另一道题 ),可惜时间复杂度还没有验证。
另外我的 SBT 也许还可以优化 ,因为我在 Delete 这里参考了陈启峰的子程序 ,但他的程序里没有
Maintain,所以我也没有写 ,这是否会影响到程序速度还不得而知。
评测环境
在这里向大家介绍一下评测的环境 :
CPU 为 Core Duo T2050,内存为 DDRII 533 512MB*2,硬盘为 80GB SATA 300MB/s(说明 :硬
盘速度较慢 ,后面有弥补的方法 ),系统为 Windows XP Home Edition SP2 Lenovo OEM 版,显卡为
GeForce Go 7300。
所有程序均用 Delphi 7 重新编译 ,以保证公平。测试器为胡伟栋的清澄工作室,内带 编译
器,但没有使用。
为了保证硬盘不影响程序运行速度 ,我特别找了一个叫做 WinMount 的软件在 1GB 的内存中 Mount
出了一块地方当作虚拟磁盘 ,这样输入输出速度可以忽略不计。
所有测试点运行时间 1 sec,内存限制 128MB。
测试点总共 10 个,为原题测试的输入输出数据 ,未改动。
评测结果
经过评测 ,我们发现 :树状数组、Treap、SBT 以及 AVL 的速度不相上下 ,不过SBT 稍稍快一点点。
而线段树的速度明显比前四种慢得多。而 Jin Lin 提供的 GBT 速度则有些慢,甚至比线段树还要慢 (说明:
这句话并不准确 ,因为我手中的 GBT 只能 AC 两个点,我是通过这两个点来判断的。但它们都不是数据很
大的点,所以不能确定 GBT 一定慢)。可以发现二分和快拍远远的落在了后面——二分有 3 个点 TLE,而
快排竟然有 8 个点 TLE !
在内存 占用上 ,二分和快排是最小的(废话…… ),其次是 SBT 和 AVL,接下来是树状数组 ,然后是
Treap,接着是 GBT,最大的是线段树。可以发现 SBT 可以完全取代 Treap 的地位 ,即使在编程复杂度上
也不比 Treap 难多少 (说明:编程复杂度更多的是个人体会 ,以上是我在编写 SBT 和 Treap 时的体会 ,不
一定代表大多数人的意见 )。
俗话说得好 ,数字是不会骗人的,现在我就把评测结果发上来。
总用时
SBT---0.71 sec
AVL---0.74 sec
树状数组---0.75 sec
Treap---0.76 sec
线段树---1.11 sec
二分---3 TLEs
快排---8 TLEs
GBT---8 REs,未完成测试
每个测试点用时及内存占用
SBT
cashier-0(cashier1.in
您可能关注的文档
最近下载
- 幼儿园接送免责协议书范本(2025版).docx VIP
- 2025年最新人教版八年级(初二)数学上册教学计划及进度表(新课标,新教材).docx
- 静脉输液护理创新案例演讲ppt.pptx
- 3.1水循环课件(共22张PPT).pptx VIP
- 国际学校中方教职员工薪酬设计方案.pdf
- 2025年闽教版(2024)小学英语四年级上册(全册)教学设计(附目录P123).docx
- 2025-2026学年岭美版(2024)小学美术二年级上册教学计划及进度表.docx
- 《放射性肠炎》课件:放射性治疗后的肠道并发症.ppt VIP
- 科力达kts-440系列全站仪说明书.pptx
- 昌平区流研所路百善六号路原规划一路百沙路工程环评报告.pdf VIP
文档评论(0)