![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 87
five丶
上海大学软工研究生,cpp后端方向
展开
-
STL(八):关联式容器
前言关联式容器与序列式容器不同,元素插入关联式容器后,插入位置是由容器采用一定的算法计算的,与插入的时间无关。本文介绍STL中哈系表、集合和map等关联式容器。哈希表hashtable是SGI STL中的哈希表,标准库中使用unordered_map代替hashtable,但unordered_map也是以hashtable为基础的。哈希表是一种查找操作只需要o(1)时间复杂度的数据结构,哈希表由一串连续的的bucket构成,每个bucket上挂着一个链表,链表中储存的就是用户的数据,哈系表通过散列函原创 2021-05-26 22:25:44 · 157 阅读 · 0 评论 -
不同形态的二叉树
满二叉树对二叉树来说,第i层的节点个数最多为2^(i-1)个,如果二叉树的每一层的节点个数都达到最大值,即叶子节点全部在最后一层,非叶子节点一定有左右孩子,这种二叉树称为满二叉树,下面展示了一棵满二叉树。完全二叉树完全二叉树的判断条件没有满二叉树那么苛刻,完全二叉树要求最下面两层的节点,可以没有孩子节点,也可以仅有一个孩子,但最下层的叶子节点必须都在左侧,比如下面的树:需要注意最下层叶子节点必须在左侧,像下面的树违反了这个规则,不是完全二叉树:二叉搜索树二叉搜索树是一种非常实用的二叉树,对原创 2021-05-26 15:55:46 · 817 阅读 · 0 评论 -
二叉树
前言树形数据结构是应用非常广泛的结构,包括二叉树、平衡二叉树、完全二叉树、红黑树、B树和B+树等,本文先介绍基础的树形结构——二叉树。二叉树二叉树是指节点可以有两个孩子节点的树型结构,其中左边的孩子节点称为左孩子,右边的孩子节点称为右孩子。可以通过下面的结构来描述一个二叉树节点,为了数据结构的完整性,这里把构造方法也加上。struct treeNode{ treeNode *left; treeNode *right; int value;//构造函数 treeNode():value原创 2021-05-26 00:17:58 · 88 阅读 · 0 评论