1. 满二叉树 :一棵深度为k 且有${2^k 1 }$个结点的二叉树。(特点:每层都“充满”了结点) 2. 完全二叉树 :深度为k 的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k 的满二叉树中编号从1至n的结点 一一对应 . 3. 具有n个结点的完全二叉树的深度为log2(n)向下取整 ...
分类:
其他好文 时间:
2019-11-22 23:56:38
阅读次数:
187
堆排序 堆排序是在二叉树的概念上建立起来的一种排序方式,利用的是二叉树中的完全二叉树;完美二叉树两种树形结构来完成堆排序 关于完全二叉树的概念可以去查阅一些,这里不作详细说明,完美二叉树依据从上至下,从左至右的方式可以转换成一种数组存储结构,每一个节点都是对应数组索引。 基本概念: 0.堆排序分为大 ...
分类:
编程语言 时间:
2019-11-22 09:13:51
阅读次数:
132
20182319 2019 2020 1 《数据结构与面向对象程序设计》第九周学习总结 @[toc] 教材学习内容总结 这一周学习的主要章节是第16、17章,其中,16章主要讲的是树的实现和二叉树与决策树。而第17章讲的则是关于二叉查找树的知识。 我们首先看到的是关于一些树的知识,其实我们一般用的也 ...
分类:
其他好文 时间:
2019-11-18 20:43:08
阅读次数:
84
#include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> int main(void) { int n; printf("请输入需要输入的整数的数量:"); scanf("%d", &n); // 确定深度 in ...
分类:
编程语言 时间:
2019-11-17 23:37:04
阅读次数:
101
1:概述 搜索树是一种可以进行插入,搜索,删除等操作的数据结构,可以用作字典或优先级队列。二叉搜索树是最简单的搜索树。其左子树的键值<=根节点的键值,右子树的键值>=根节点的键值。 如果共有n个元素,那么每次操作需要的O(log n)的时间. 常用知识点 满二叉树 : 一棵深度为k,且有2^k-1个 ...
分类:
编程语言 时间:
2019-11-16 23:38:31
阅读次数:
113
堆排其实就是选择排序,只不过用了完全二叉树特性。 堆排思想 : 利用完全二叉树特性建堆和重复选择调整来得到有序数组。 完全二叉树有什么特性呢? 节点左对齐 > 层序遍历不会出现空,可以用数组表达(访问效率高) 那么可以将它映射到数组上,并且遵循一个规律: 设i为当前节点索引, i->left = 2 ...
分类:
其他好文 时间:
2019-11-16 17:58:48
阅读次数:
137
二叉树的定义 二叉树(Binary Tree)是n(n≥0)个元素的有限集合,该集合为空或者为由一个称为“根”的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成 二叉树的基本特点: 每个结点最多有两棵子树 左子树和右子树是有顺序的,且不可颠倒 图一 节点、度和叶子的概念 1、结点 二叉树中的 ...
分类:
其他好文 时间:
2019-11-13 00:56:08
阅读次数:
106
堆排序 2019-11-10 11:45:11 by冲冲 1、概念 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子 ...
分类:
编程语言 时间:
2019-11-10 17:42:38
阅读次数:
82
一、简介 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 一棵深度为k,且有2^k-1个结点的二叉树,称为满二叉树。这种树的特点是每一层上的结点数都是最大结 ...
分类:
其他好文 时间:
2019-11-07 20:51:38
阅读次数:
131
其实这篇文章曾经也在 "初赛复习" 里。。 "一个比较好的博客" 满二叉树:比较简单,就是一颗满的二叉树 ~~废话~~ 完全二叉树:也比较简单,就是除了最后一层,上面都是满的,而最后一层的叶子结点都集中在左边。 平衡二叉树:是一颗 空树 或者对于每一个节点,他的左子树和右子树高度差不超过1,~~矮矮 ...
分类:
其他好文 时间:
2019-11-05 18:49:03
阅读次数:
89