码迷,mamicode.com
首页 >  
搜索关键字:完全二叉树    ( 970个结果
(二叉)堆
堆可以看成一个近似的完全二叉树,其任何一非叶节点满足性质: Key[i]<=key[2i+1]&&Key[i]<=key[2i+2](小根堆) 或者 Key[i]>=Key[2i+1]&&key[i]>=key[2i+2](大根堆) 有了上面的定义,就有下面的计算: #define Pa(i) i> ...
分类:其他好文   时间:2017-06-01 19:40:21    阅读次数:200
数据结构——树笔记1
树属于非线性数据结构,它是一种层次结构:如果存在前驱节点,则是唯一的,如果存在后继节点,则可以是多个。即树的元素之间是一对多的关系。树是由n个节点构成的有限集合T,如果n = 0,则是空树,如果n不等于0,则一个非空树,有且只有一个根结点root,如果n>1,则除了根结点外,其余节点又可以划分为有限 ...
分类:其他好文   时间:2017-05-23 23:41:05    阅读次数:247
线段树入门
一。概念 线段树是用于处理区间的复杂度为O(log n)一类数据结构。线段树是一棵完美二叉树(区别于完全二叉树)。树上的每个节点维护一个区间,且为父亲节点的区间二等分后的其中一个子区间。 二. 基于线段树的RMQ操作(根据维护的信息不同,线段树还可以实现其他功能) 三. 基于线段树的查询 例如查询区 ...
分类:其他好文   时间:2017-05-22 17:47:12    阅读次数:172
二叉树遍历 C#
二叉树遍历 C# 什么是二叉树 二叉树是每个节点最多有两个子树的树结构 (1)完全二叉树——若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二 叉树。 (2)满二叉树——除了叶结点外每一个结点都有左 ...
分类:Windows程序   时间:2017-05-20 21:56:23    阅读次数:315
二叉堆
容易证明: 一棵高为h的完全二叉树有2^h 到 2^(h+1)-1个结点。 这就意味着,完全二叉树的高是[logN] 特点: 任意位置i: 左儿子在位置2i上,右儿子在位置2i+1上,父亲在i/2上 一个堆数据结构将由一个Comparable数组和一个代表当前堆的大小的整数组成: 优先队列的接口: ...
分类:其他好文   时间:2017-05-19 23:57:14    阅读次数:175
P1305 新二叉树
题目描述 输入一串完全二叉树,用遍历前序打出。 输入输出格式 输入格式: 第一行为二叉树的节点数n。 后面n行,每一个字母为节点,后两个字母分别为其左右儿子。 空节点用*表示 输出格式: 前序排列的完全二叉树 输入输出样例 输入样例#1: 6 abc bdi cj* d** i** j** 输出样例 ...
分类:其他好文   时间:2017-05-15 20:23:48    阅读次数:206
排序——堆排序算法
堆排序利用的完全二叉树这种数据结构所设计的一种算法,不过也是选择排序的一种。 堆实质上是满足如下性质的完全二叉树:k[i]<=k[2*i]&&k[i]<=k[2*i+1]或者k[i]>=k[2*i]&&k[i]>=k[2*i+1], 树中任一非叶子结点的关键字均不大于(或不小于)其左右孩子(若存在) ...
分类:编程语言   时间:2017-05-12 23:58:05    阅读次数:410
Java学习笔记——排序算法之进阶排序(堆排序与分治并归排序)
春蚕到死丝方尽,蜡炬成灰泪始干 ——无题 这里介绍两个比较难的算法: 1、堆排序 2、分治并归排序 先说堆。 这里请大家先自行了解完全二叉树的数据结构。 堆是完全二叉树。大顶堆是在堆中,任意双亲值都大于(或等于)其孩子值,就称其为大顶堆。 堆排序的步骤: 1、把数组想象成一个堆。数组的index+1 ...
分类:编程语言   时间:2017-05-12 20:21:21    阅读次数:229
c语言-树的基础知识(一)
第一、树的定义: 1.有且只有一个称为根的节点 2.有若干个互不相交的子树,这些子树本身也是一颗树 第二、专业术语: 树的深度:从根节点到最低层,节点的层数 ,称之为树的深度。 根节点是第一层 结点的层次:根节点为第一层,根节点的子节点为第2层,以此类推 叶子节点:没有子节点的节点 非终端节点:实际 ...
分类:编程语言   时间:2017-05-10 23:38:21    阅读次数:173
Java与算法之(8) - 堆排序
堆是一种特殊的完全二叉树,其特点是所有父节点都比子节点要小,或者所有父节点都比字节点要大。前一种称为最小堆,后一种称为最大堆。 比如下面这两个: 那么这个特性有什么作用?既然题目是堆排序,那么肯定能用来排序。想要用堆排序首先要创建一个堆,如果对4 3 6 2 7 1 5这七个数字做从小到大排序,需要 ...
分类:编程语言   时间:2017-05-10 17:54:30    阅读次数:257
970条   上一页 1 ... 45 46 47 48 49 ... 97 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!