优先队列:出队顺序和入队顺序无关,而是和优先级有关(优先级高的先出队) 如果使用普通线性结构或者顺序线性结构实现优先队列,出队或者入队总有一方是O(n)级别的;如果使用堆实现优先队列,能使入队和出队的时间复杂度都是O(logn),效率是极高的。 二叉堆是一颗完全二叉树,不一定是满二叉树,但是确实节点 ...
分类:
其他好文 时间:
2019-12-29 10:59:11
阅读次数:
94
完全二叉树和满二叉树的区别 二叉树分类很多,其中满二叉树和完全二叉树又有点特殊,这两种二叉树的效率又有点高,以下是它们的区别: 满二叉树:从形象来看的话满二叉树是一个绝对的三角形,最后一层全部是叶子节点,其它各层是非叶子节点,节点数的计算n=2^k - 1,k表示深度,也就是层数,第i层的节点数n= ...
分类:
其他好文 时间:
2019-12-26 17:51:22
阅读次数:
89
C++生成完全二叉树 2019-12-20 By Gauss 1.背景介绍 完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 2.特点: 叶子结点只可能在最 ...
分类:
编程语言 时间:
2019-12-20 18:11:00
阅读次数:
154
题目: 给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。 来源: https:// ...
分类:
其他好文 时间:
2019-12-16 22:18:45
阅读次数:
112
二叉树(Binary Tree) 树 根节点、父节点、兄弟节点、叶子节点 高度、深度、层的概念 高度、深度、层的概念 二叉树 顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子节点和右子节点,并不要求都要有二个节点,有的只有左节点,有的只有右节点 满二叉树 图中编号2的二叉树,叶子节点 ...
分类:
编程语言 时间:
2019-12-11 19:32:39
阅读次数:
78
数据结构 树(上) 一、概述 主要内容包含树的基本概念、二叉树(平衡二叉树、完全二叉树、满二叉树)、搜索树(二叉搜索树、平衡搜索树、AVL树、伸展树、(2,4)树、红黑树)、(a,b)树、B树等实际运用的树数据结构 二、基本知识(树的定义和属性) 1、树(非线性数据结构)运用于一些算法实现的效率会比 ...
分类:
其他好文 时间:
2019-12-08 11:01:30
阅读次数:
119
满二叉树: 定义: 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。 国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。 最后一层的节点个数等于其他层数节点个数 ...
分类:
其他好文 时间:
2019-12-06 21:23:05
阅读次数:
86
1. 满二叉树 :一棵深度为k 且有${2^k 1 }$个结点的二叉树。(特点:每层都“充满”了结点) 2. 完全二叉树 :深度为k 的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k 的满二叉树中编号从1至n的结点 一一对应 . 3. 具有n个结点的完全二叉树的深度为log2(n)向下取整 ...
分类:
其他好文 时间:
2019-11-22 23:56:38
阅读次数:
187
20182319 2019 2020 1 《数据结构与面向对象程序设计》第九周学习总结 @[toc] 教材学习内容总结 这一周学习的主要章节是第16、17章,其中,16章主要讲的是树的实现和二叉树与决策树。而第17章讲的则是关于二叉查找树的知识。 我们首先看到的是关于一些树的知识,其实我们一般用的也 ...
分类:
其他好文 时间:
2019-11-18 20:43:08
阅读次数:
84
1:概述 搜索树是一种可以进行插入,搜索,删除等操作的数据结构,可以用作字典或优先级队列。二叉搜索树是最简单的搜索树。其左子树的键值<=根节点的键值,右子树的键值>=根节点的键值。 如果共有n个元素,那么每次操作需要的O(log n)的时间. 常用知识点 满二叉树 : 一棵深度为k,且有2^k-1个 ...
分类:
编程语言 时间:
2019-11-16 23:38:31
阅读次数:
113