会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
hahazexia
博客园
首页
新随笔
联系
管理
订阅
随笔分类 -
data structures and algorithms
AVL树
摘要:在计算机科学中,一个AVL树(由Adelson-Velsky和Landis命名)是一个自平衡二叉查找树。AVL树是首次被发明的拥有自平衡特性的数据结构。在一个AVL树中,任何一个节点的两个子树的高度差不会超过1,也就是<=1;如果它们的高度差超过了1,就会触发平衡操作来修复其特性。查找,插入和删除的
阅读全文
posted @
2018-11-06 14:28
hahazexia
阅读(243)
评论(0)
推荐(0)
二叉搜索树
摘要:树 二叉搜索树AVL树红黑树线段树 - with min/max/sum range queries examples芬威克树/Fenwick Tree (Binary Indexed Tree) 在计算机科学中, 树(tree) 是一种广泛使用的抽象数据类型(ADT)— 或实现此ADT的数据结构
阅读全文
posted @
2018-10-23 12:08
hahazexia
阅读(295)
评论(0)
推荐(0)
字典树
摘要:在计算机科学中, 字典树(trie,中文又被称为”单词查找树“或 ”键树“), 也称为数字树,有时候也被称为基数树或前缀树(因为它们可以通过前缀搜索),它是一种搜索树--一种已排序的数据结构,通常用于存储动态集或键为字符串的关联数组。 与二叉搜索树不同, 树上没有节点存储与该节点关联的键; 相反,节
阅读全文
posted @
2018-10-22 19:47
hahazexia
阅读(247)
评论(0)
推荐(0)
优先队列
摘要:在计算机科学中, 优先级队列(priority queue) 是一种抽象数据类型, 它类似于常规的队列或栈, 但每个元素都有与之关联的“优先级”。 在优先队列中, 低优先级的元素之前前面应该是高优先级的元素。 如果两个元素具有相同的优先级, 则根据它们在队列中的顺序是它们的出现顺序即可。 优先队列虽
阅读全文
posted @
2018-10-20 18:01
hahazexia
阅读(428)
评论(0)
推荐(0)
堆
摘要:在计算机科学中, 一个 ** 堆(heap)** 是一种特殊的基于树的数据结构,它满足下面描述的堆属性。 在一个 最小堆(min heap) 中, 如果 P 是 C 的一个父级节点, 那么 P 的key(或value)应小于或等于 C 的对应值. 在一个 最大堆(max heap) 中, P 的ke
阅读全文
posted @
2018-10-20 15:52
hahazexia
阅读(226)
评论(0)
推荐(0)
哈希表
摘要:在计算中, 一个哈希表(hash table 或hash map) 是一种实现关联数组(associative array) 的抽象数据类型, 该结构可以将 键映射到值。 哈希表使用 哈希函数/散列函数 来计算一个值在数组或桶(buckets)中或槽(slots)中对应的索引,可使用该索引找到所需的
阅读全文
posted @
2018-10-18 19:41
hahazexia
阅读(275)
评论(0)
推荐(0)
栈
摘要:在计算机科学中, 一个 栈(stack) 是一种抽象数据类型,用作表示元素的集合,具有两种主要操作: push, 添加元素到栈的顶端(末尾);pop, 移除栈最顶端(末尾)的元素. 以上两种操作可以简单概括为“后进先出(LIFO = last in, first out)”。 此外,应有一个 pee
阅读全文
posted @
2018-10-17 10:42
hahazexia
阅读(286)
评论(0)
推荐(0)
队列
摘要:在计算机科学中, 一个 队列(queue) 是一种特殊类型的抽象数据类型或集合。集合中的实体按顺序保存。 队列基本操作有两种: 向队列的后端位置添加实体,称为入队,并从队列的前端位置移除实体,称为出队。 队列中元素先进先出 FIFO (first in, first out)的示意 复杂度 时间复杂
阅读全文
posted @
2018-10-16 18:03
hahazexia
阅读(192)
评论(0)
推荐(0)
双向链表
摘要:在计算机科学中, 一个 双向链表(doubly linked list) 是由一组称为节点的顺序链接记录组成的链接数据结构。每个节点包含两个字段,称为链接,它们是对节点序列中上一个节点和下一个节点的引用。开始节点和结束节点的上一个链接和下一个链接分别指向某种终止节点,通常是前哨节点或null,以方便
阅读全文
posted @
2018-10-15 15:55
hahazexia
阅读(1523)
评论(0)
推荐(0)
链表
摘要:在计算机科学中, 一个 链表 是数据元素的线性集合, 元素的线性顺序不是由它们在内存中的物理位置给出的。 相反, 每个元素指向下一个元素。它是由一组节点组成的数据结构,这些节点一起,表示序列。 在最简单的形式下,每个节点由数据和到序列中下一个节点的引用(换句话说,链接)组成。这种结构允许在迭代期间有
阅读全文
posted @
2018-10-14 11:41
hahazexia
阅读(229)
评论(0)
推荐(1)
公告