码迷,mamicode.com
首页 >  
搜索关键字:数据结构、二叉树    ( 247个结果
二叉树系列(一):已知先序遍历序列和中序遍历序列,求后序遍历序列
首先介绍一下三种遍历顺序的操作方法:   1.先序遍历   (1)访问根结点;   (2)先序遍历左子树;   (3)先序遍历右子树。   2.中序遍历   (1)中序遍历左子树;   (2)访问根结点;   (3)中序遍历右子树。   3.后序遍历   (1)后序遍历左子树;   (2)后序遍历右子树;   (3)访问根结点。   知道了二叉树的三种遍历规则,只...
分类:其他好文   时间:2014-10-07 21:41:41    阅读次数:131
二叉树系列(二):已知中序遍历序列和后序遍历序列,求先序遍历序列
首先介绍一下三种遍历顺序的操作方法:   1.先序遍历   (1)访问根结点;   (2)先序遍历左子树;   (3)先序遍历右子树。   2.中序遍历   (1)中序遍历左子树;   (2)访问根结点;   (3)中序遍历右子树。   3.后序遍历   (1)后序遍历左子树;   (2)后序遍历右子树;   (3)访问根结点。   知道了二叉树的三种遍历规则,我们就...
分类:其他好文   时间:2014-10-07 20:18:22    阅读次数:193
二叉排序树
一,什么是二叉排序树 二,二叉排序树的查找   从根节点出发,比较。。。。       三,二叉排序树的插入   插入原则: 在插入一个新节点后,仍为一棵二叉树     例如: 查找键值序列为{50,48,24,55,53,50,90} ...
分类:其他好文   时间:2014-10-04 21:15:07    阅读次数:157
变形二叉树中节点的最大距离(树的最长路径)——非递归解法
问题描述: 如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。  写一个程序,求一棵二叉树中相距最远的两个节点之间的距离。测试用的树:                                   n1                              /                                ...
分类:其他好文   时间:2014-10-04 11:05:26    阅读次数:372
第七章解决二叉树的编程问题
第七章解决二叉树的编程问题二叉树是n(≥0)个有限元素的集合,该集合或者为空,或者由一个称为根的元素及两个不相交的,被称为左子树和右子树的二叉树组成。当集合为空时,称该二叉树为空二叉树,在二叉树中一个元素也称为一个结点。二叉树是有序的,即将其左右子树颠倒,就成..
分类:其他好文   时间:2014-09-24 19:47:18    阅读次数:246
树和二叉树总结及算法实现
【注:相关概念来自经典教材及维基百科】 树 树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。它具有以下的特点: 每个节点(node)有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树; 如图所示: 相关概念: 节点的度:一个节点含有的子树的个数称为该节点的...
分类:其他好文   时间:2014-09-09 13:12:38    阅读次数:445
020给定两个二叉树T1,T2判断T1是否是T2的子树(keep it up)
给定两个二叉树T1,T2判断T1是否是T2的子树 首先在T2中查找T1的根节点,如果找不到, 则T1不是T2的子树,如果能找到,我们可以 遍历T1,检查T1的每个结点是否对应的存在T2 中。 代码: struct TreeNode { int data; TreeNode* leftChild; TreeNode* rightChild; }; bool isExited(co...
分类:其他好文   时间:2014-09-09 12:52:58    阅读次数:171
019写程序在一棵二叉树中找到两个结点的最近共同祖先(keep it up)
写程序在一棵二叉树中找到两个结点的最近共同祖先。 分两种情况来讨论这个题: 第一种情况结点中没有指向父结点的指针 第二种情况接种有指向父节点的指针 我们先看第一种情况,结点中没有指向父结点的指针。 我们可以采用暴力搜索每一个结点,如果这个结点的子树中 有已知的两个结点,那我们就继续沿着左右子树找,如果左子树 能找到,我们就继续沿着左子树找,如果有子树能找到,我们就 沿着右子...
分类:其他好文   时间:2014-09-07 02:13:34    阅读次数:165
018给定二叉查找树的一个结点, 写一个算法查找它的“下一个”结点“(keep it up)
给定二叉查找树的一个结点, 写一个算法查找它的“下一个”结点(即中序遍历后它的后继结点),  其中每个结点都有指向其父亲的链接。 这个题本质就是线索化二叉树时找后继结点的题。找后继结点存在两种情况: 1 如果当前结点有右孩子,则后继结点为右孩子的最左结点 2 如果没有右孩子,      A 当前结点为父结点的左孩子,则父结点就是后继结点 B 当前结点为父结点的右孩子,则向父结点找,直到...
分类:其他好文   时间:2014-09-03 01:32:05    阅读次数:224
(016)给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树(keep it up)
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。 由于数组是递增有序的,每次都在中间创建结点,类似二分查找的方法来间最小树。 struct TreeNode { int data; TreeNode* leftChild; TreeNode* rightChild; }; void newNode(TreeNode*& vNode, int vData) { vNode...
分类:其他好文   时间:2014-08-30 02:24:58    阅读次数:260
247条   上一页 1 ... 21 22 23 24 25 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!