码迷,mamicode.com
首页 >  
搜索关键字:二叉树 层序遍历    ( 10966个结果
白话经典算法系列之七 堆与堆排序
堆排序与高速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先解说下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是全然二叉树或者是近似全然二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)不论什么一个子节点的键值。2.每一个结点的左子树和右...
分类:其他好文   时间:2014-06-19 07:54:46    阅读次数:174
堆排序
堆排序(heapsort)是一种原地(in place)排序算法, 它的时间复杂度是O(nlgn). 堆数据结构不只是在堆排序中有用,它还可以构成一个有效的优先队列。堆数据结构是一种数组对象,它可以被视为一颗完全二叉树。如图: Aheap-size是放在A中堆的元素个数。根据数组节点的索引,我们.....
分类:其他好文   时间:2014-06-15 21:27:58    阅读次数:239
剑指offer (19) 二叉树镜像 对称二叉树
题目:输入一个二叉树,输出其镜像。BinTreeNode* ReverseTree(BinTreeNode* pRoot){ if (pRoot == NULL) return NULL; BinTreeNode* pLeftReverse = ReverseTree(pRoot->le...
分类:其他好文   时间:2014-06-15 19:40:38    阅读次数:149
Linux内核设计基础(八)之内核数据结构
我个人比较喜欢学习数据结构,而Linux内核中实现的数据结构会是我们去学习、理解和应用数据结构的一个很好途径。这里介绍内核中广泛应用的四种数据结构:链表、队列、映射和二叉树。 链表: Linux内核讲求高效精简,所以有时需要我们动态去创建和分配内存,这时就要借助链表,我们根据实际情况分配内存后,只需修改链表的指针,仍能索引到刚分配的内存区。链表分单向链表、双向链表和循环链表。...
分类:系统相关   时间:2014-06-15 15:19:43    阅读次数:343
编程常用设计模式详解--(中篇)(适配器、装饰、代理、外观、桥接、组合、享元)
6.适配器模式 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。首先,我们来看看类的适配器模式,先看类图: 核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口时Targetable,通过Adapter类,将Source的功能扩展到Targe...
分类:其他好文   时间:2014-06-15 12:16:42    阅读次数:243
二叉树的应用(1)--二叉树排序树基本操作
#include struct BSTNode { int m_nval; //数据域 BSTNode *m_pleft; // 左孩子节点 BSTNode *m_pright; //右孩子节点 }; /************************************************************************ 功能:在二叉排序树中 查找key值,...
分类:其他好文   时间:2014-06-15 12:14:04    阅读次数:228
数据结构快速回顾——二叉树
二叉树(Binary Tree)是个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个结点。基本概念:(1)结点的度。结点所拥有的子树的个数称为该结点的度。(2)叶...
分类:其他好文   时间:2014-06-15 11:14:30    阅读次数:255
hdu1754I Hate It(splay)
链接线段树的水题,拿来学习一下splay.本题涉及到求最大值以及单点更新,折腾了许久,差不多把splay搞明白了。按位置建树,按位置是一颗排序二叉树,对于区间的操作非常方便,每次操作都将需要的结点转自根的右孩子的左孩子,因为加了2个结点,一个最小的,一个最大的,据说是为了防止越界。这题只有单点,所以...
分类:其他好文   时间:2014-06-14 19:58:36    阅读次数:224
二叉树的创建和四种遍历(前序、先序、后序、层次、结点的层数、深度、叶子数等)—java描述
二叉树的创建和四种遍历(前序、先序、后序、层次、结点的层数、深度、叶子数等)—java描述packagejavab;//树的结点类publicclassTreeNode{Stringdata;TreeNodeleftChild,rightChild,next;publicTreeNode(Strin...
分类:编程语言   时间:2014-06-14 13:54:02    阅读次数:404
算法5-6:Kd树
问题 给定一系列的点,和一个矩形。求矩形中包含的点的数量。 解答 这个问题可以通过建立矩阵来进行求解。首先将一个空间分割成矩阵,将点放置在对应的格子中,再计算矩形覆盖的格子,再判断格子中的点是否包含在矩形中 这种方法的问题是,可能这些点全都集中在一个格子中。这种情况下算法的效率比较低。 ...
分类:其他好文   时间:2014-06-14 10:37:17    阅读次数:192
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!