随笔分类 - 数据结构
《数据结构、算法与应用 c++语言描述》笔记
摘要:二叉搜索树 二叉搜索树是一个高效的数据结构,查找、插入、删除的平均时间复杂度都是 对应树中的一个节点 u 满足: 如果 u 存在左子树,那么左子树中所有点的 key 都小于(大于) u 的 key 如果 u 存在右子树,那么右子树中所有点的 key 都大于(小于) u 的
阅读全文
摘要:跳表 跳表 (Skip List) 是增加了额外的前向指针的链表。 跳表随机地决定链表地哪些节点需要增加前向指针、需要增加多少个指针。 目的:提高有序链表地查找效率、支持范围查询 跳表的结构 跳表的查找路径: ListNode 的实现: template<class K, class E> stru
阅读全文
摘要:优先级队列 优先级队列 (Priority Queue) 是0个或多个元素的集合,每个元素都有一个优先级 (权值)。 优先级队列的操作有:1. top 2. push 3. pop 在最大优先级队列中,查找和删除的元素都是当前集合中优先级最大的元素。 在最小优先级队列中,查找和删除的元素都是当前集合
阅读全文