首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

12.5  提示

(1) 在定义ADT来解决问题时,不要请求不必要的操作。实现的正确选择取决于需要执行的操作集合。若请求不必要的操作,则所选的实现可能不能恰如其分地支持当前的需求。

(2) 在执行有序的插入和删除操作时,ADT表若采用基于数组的线性实现方案,就必须移动数据引用。这些移动操作比较费时,若表很大,就更是如此。

(3) 若ADT表采用基于引用的线性实现,就不需要移动数据引用,但在执行插入和删除操作时,其效率不如基于数组的实现,原因是不能合理地执行二叉查找。

(4) 一般情况下,二叉查找树都可以非常高效地支持ADT表的操作。但在最坏的情况下,即当树形接近于线状时,表操作的性能与基于引用的线性实现相近。若给定应用程序不能接受低性能,则应使用第13章介绍的表实现。

(5) 堆是优先队列的一种较好的实现,但它不适用于表。特别是,堆不能有效地支持有序的tableRetrive和遍历操作。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论