码迷,mamicode.com
首页 >  
搜索关键字:满二叉树 完全二叉树    ( 1098个结果
堆排序
/* 利用完全二叉树的性质,一个线性数组可以看做是完全二叉树的层次遍历 每次循环把二叉树按照双亲大于左右孩子的规则调换位置,这样一轮下来,根结点就是最大的那个数 把根结点和最后一个元素交换位置 下一次循环继续调换位置,除了最后一个元素 再一次循环继续调换位置,除了最后一个和倒数第二个元素 依次类推。... ...
分类:编程语言   时间:2016-12-26 22:03:55    阅读次数:255
如何判定一颗树是完全二叉树和满二叉树
满二叉树:一颗深度为k且有2^k-1个节点的二叉树称为满二叉树; 完全二叉树:对满二叉树的结点进行连续编号,约定编号从根结点起,自上而下,自左至右。深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树编号从1至n的结点对应时,称为完全二叉树。如图所示: 1. 判定完全二叉树。判 ...
分类:其他好文   时间:2016-12-25 02:03:02    阅读次数:252
树(复习用)
1、定义与基本术语 树的结构定义 其他表示树的方法: 其他术语: 2、二叉树 1)定义: 性质: 2)满二叉树与完全二叉树 3、存储结构 4、遍历二叉树 伪代码 中序遍历非递归算法 前序遍历构建二叉树 5、线索二叉树 中序遍历线索二叉树 后序线索二叉树 中序遍历二叉线索树 非递归算法 6、树和森林 ...
分类:其他好文   时间:2016-12-19 10:46:53    阅读次数:199
数据结构:堆排序
「仅为草稿,尚未详解」 堆排序(C语言版) 走进堆排序 什么是堆 堆实质就是一颗完全二叉树,其任何一非叶子节点满足下列性质。 i=1,2,3...n/2 说明: 既然是完全二叉树,我们就可以用数组来表示! 堆根据上面的性质又分为: 从中不难发现,大顶堆从上往下依次键值减小,小顶堆从上向下键值增大。 ...
分类:编程语言   时间:2016-12-18 23:09:16    阅读次数:346
排序算法(三)之堆排序
预备知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于 ...
分类:编程语言   时间:2016-12-18 02:09:08    阅读次数:321
堆排序
堆是一个数组,可以被看成一个近似的完全二叉树。 树上的每一个结点对应数组中的一个元素 A[1...A.heap-size] PARENT(i) return Li/2j LEFT 2i RIGHT 2i + 1 最大堆的性质 A[PARENT(i)] >= A[i] 最小堆的性子 A[PARENT( ...
分类:编程语言   时间:2016-12-11 20:46:14    阅读次数:315
排序算法之堆排序(优先队列)
1、堆排序的堆,其实是一个 完全二叉树。既是一个结点要么是叶子结点,要么必定有左右两个子节点的树。 2、堆有序:每个结点的值,都必须大于两个子节点。但是两个子结点的大小不作要求。 3、一棵大小为N的完全二叉树,高度为lgN(层)。 用数组实现堆,假设数组下标从0开始,下标为k的元素,它的左子树是2k ...
分类:编程语言   时间:2016-12-09 22:11:12    阅读次数:174
大话数据结构(十五)——二叉树的理论知识(2)
1 二叉树的存储结构 1.1 顺序存储结构 二叉树的顺序存储结构就是用一维数组存储二叉树中的结点,并且结点的存储位置,也是数组的下标要能体现结点之间的逻辑关系,比如双亲与孩子的关系。 一棵完全二叉树的存储: 一般二叉树存储:尽管层序编号不能反映逻辑关系,但是可以将其按完全二叉树编号,只不过把不存在的 ...
分类:其他好文   时间:2016-12-07 01:11:09    阅读次数:199
PAT甲题题解-1110. Complete Binary Tree (25)-(判断是否为完全二叉树)
题意:判断一个节点为n的二叉树是否为完全二叉树。Yes输出完全二叉树的最后一个节点,No输出根节点。 建树,然后分别将该树与节点树为n的二叉树相比较,统计对应的节点个数,如果为n,则为完全二叉树,否则即不是。 #include <iostream> #include <cstdio> #includ ...
分类:其他好文   时间:2016-12-04 20:10:43    阅读次数:191
基于二叉排序树的查找
导论:首先,沿着二分查找的思路,我们构造一种二叉树来查找,这种二叉树的左子树结点都小于根节点,右子树节点都大于根节点,这样一来,所有结点算是都排好序了,接下来就可以查找 基于二叉排序树的查找 一.二叉排序树的定义 所谓二叉排序树是一个什么样的东西,我们得弄清楚,以下是二叉排序树的定义: 1.若它的左 ...
分类:编程语言   时间:2016-12-04 16:23:43    阅读次数:157
1098条   上一页 1 ... 57 58 59 60 61 ... 110 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!