数据结构算法与应用-C语言描述007.pdfVIP

  • 6
  • 0
  • 约5.16万字
  • 约 31页
  • 2019-01-12 发布于四川
  • 举报
下载 下载 第7章 跳表和散列 对于一个有n 个元素的有序数组,用折半搜索法进行搜索所需要的时间为 O ( l o gn) ,而对一 个有序链表进行搜索所需要的时间为 O (n) 。我们可以通过对有序链表上的全部或部分节点增加 额外的指针,来提高搜索性能。在搜索时,可以通过这些指针来跳过链表中若干个节点,因此 没有必要从左到右搜索链表中的所有节点。 增加了向前指针的链表叫作跳表。跳表不仅能提高搜索性能,同时也可以提高插入和删除 操作的性能。它采用随机技术决定链表中哪些节点应增加向前指针以及在该节点中应增加多少 个指针。采用这种随机技术,跳表中的搜索、插入、删除操作的时间均为 O ( l o gn) ,然而,最 坏情况下时间复杂性却变成 (n) 。相比之下,在一个有序数组或链表中进行插入 /删除操作的 时间为O( n) ,最坏情况下为 (n) 。 散列法是用来搜索、插入、删除记录的另一种随机方法。与跳表相比,它的插入 /删除操 作时间提高到 ( 1 ) ,但最坏情况下仍

文档评论(0)

1亿VIP精品文档

相关文档