基础数据结构项目介绍.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基础数据结构项目介绍

基础数据结构项目介绍 上海交通大学 ACM班 INTRODUCTION 实现C++STL中的一些数据结构,容器,算法 要求模板化 具体内容与要求 数据结构: Vector List Deque Map Unordered_map 容器: Stack Queue Prioirty_queue 算法: Sort list_sort Make_heap EXCEPTION 在头文件中,有一些标出需要抛出异常的情况,请抛出异常,助教在测试的时候可能会编写产生异常的代码,然后catch检查是否抛出异常,以及异常抛出是否正确。 在EXCEPTION头文件中已经定义了一些异常,定义不完全,需要你们继续完善,异常类也没有写完。 VECTOR 实现一个支持随机访问的线性表以及相关的迭代器 Bonus:C++STL中迭代器的有效性由程序员保证,也就是说,编译器或者程序并不知道之前的迭代器是否是有效的,所以如果你编写的迭代器可以判断自身是否是有效的,或者你有一个办法可以判断你编写的迭代器是否失效,那么你将会获得最多10%的bonus。 失效定义: 指向了错误的元素,或者内存地址。 LIST 实现一个不支持随机访问,但是可以快速插入删除的线性表(基于双向链表)以及相关的迭代器 Bonus:C++STL中迭代器的有效性由程序员保证,也就是说,编译器或者程序并不知道之前的迭代器是否是有效的,所以如果你编写的迭代器可以判断自身是否是有效的,或者你有一个办法可以判断你编写的迭代器是否失效,那么你将会获得最多10%的bonus。 DEque 实现一个可以从两个方向添加,删除元素的队列,需要支持高效的随机访问,以及相关的迭代器。 进阶:块状链表实现(5%bonus) Bonus:C++STL中迭代器的有效性由程序员保证,也就是说,编译器或者程序并不知道之前的迭代器是否是有效的,所以如果你编写的迭代器可以判断自身是否是有效的,或者你有一个办法可以判断你编写的迭代器是否失效,那么你将会获得最多10%的bonus。 MAP 一个基于BST(Binary Search Tree)的保存(key, value)映射关系的数据结构,以及相关迭代器。 如果你使用了高水平组中作为bonus项目的数据结构来实现的话,请告诉助教,助教在检查代码之后可以给出最高20%的bonus Bonus:C++STL中迭代器的有效性由程序员保证,也就是说,编译器或者程序并不知道之前的迭代器是否是有效的,所以如果你编写的迭代器可以判断自身是否是有效的,或者你有一个办法可以判断你编写的迭代器是否失效,那么你将会获得最多10%的bonus。 UNORDERED_MAP 一个基于hash table的保存(key, value)映射关系的数据结构,以及相关迭代器。 Bonus:C++STL中迭代器的有效性由程序员保证,也就是说,编译器或者程序并不知道之前的迭代器是否是有效的,所以如果你编写的迭代器可以判断自身是否是有效的,或者你有一个办法可以判断你编写的迭代器是否失效,那么你将会获得最多10%的bonus。 Stack,queue 栈和队列,不多说了 Priority_queue 优先队列,使用堆实现 如果使用二项堆,斐波那契堆等数据结构实现,请告诉助教,助教检查代码之后会给出最多20%的bonus SORT 针对vector的排序,调用方式类似std::sort LIST_SORT 针对list的sort MAKE_HEAP 把指定范围内的数据变成堆 实现的要求 按照函数中的注释实现代码, 注意返回值. 对于模板参数为int, long long的实例化, 没有编译错误. 实现正确, 对于模板参数为int, long long类型的实例化能够不出现运行时错误, 得到正确结果. 因为是模板类, 所以应具有通用性, 即对于各种模板参数都能通过编译. 提示: 没有默认赋值操作符的类, 没有无参数初始化函数的类 能正确地析构容器中的元素. 即每个时刻存活的(即没有析构的)对象的个数要等于当前容器的size. 不能内存泄露. 评分方法 代码提交 为了减轻同学们在最终的Deadline之前的压力,我们采取分阶段提交、评测的方法。 Week 6:vector Week 7:list Week 8:stack,queue,priority_queue Week 9:map Week 10:unordered_map Week 11:deque Week 12:algorithm Week 13:复测 代码提交 提交的时候请打包所有的头文件,包括不是本周应该提交的,同时提交的代码中不应该包含多余的文件。 出现错交,漏交,迟交等情况,所造成的后果助教概不负责。 关于代码的一些额外说明 关于头文件的获取 由于还有两个文

文档评论(0)

kunpengchaoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档