管理元素集合的STL容器大致分为两类。一类是有顺序的集合,称为序列式容器;另一类是经过排序的集合,称为关联式容 …
算法与数据结构之集合
C++为我们提供了集合这个内置的数据结构,它是基于二叉搜索树来实现的,并且对树进行了平衡处理,使得元素在树中分 …
数据结构与算法之二叉搜索树
搜索树与二叉搜索树 搜索树是一种可以进行插入、搜索、删除等操作的数据结构。它可以用作字典或者优先级队列。 二叉 …
数据结构与算法之二叉树的重建
二叉树的重建 前面几篇笔记讲了二叉树的表达与遍历。那么,有没可能根据二叉树遍历的结果,来重建出一棵二叉树呢?答 …
算法与数据结构之二叉树的遍历
二叉树的遍历方式 前序遍历(Preorder) 前序遍历就是先访问根节点,再访问左子节点,最后访问右子节点的遍 …
算法与数据结构之二叉树
二叉树 二叉树就是每个节点至多有两个子节点的树。 关于树结构,我们在上一篇《数据结构与算法之有根树的表达》中已 …
数据结构与算法之有根树的表达
有根树 有根树,顾名思义,就是有根节点的树结构。 有根树的节点之间存在父子关系,其中,有一个节点,叫做“根节点 …
使用归并排序来计算逆序数
计算逆序数 在很早之前,我曾经发过一篇文章,讲的是冒泡排序的交换次数就是逆序数。可是,这样计算逆序数的话,时间 …
算法与数据结构之计数排序
计数排序 计数排序是一种稳定的排序算法,它的时间复杂度是O(n+k),其中,数组元素均≥0,且≤k 计数排序的 …