码迷,mamicode.com
首页 >  
搜索关键字:二叉树 层序遍历    ( 10966个结果
平衡二叉树 左旋和右旋思路
二叉平衡树: 平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、T ...
分类:其他好文   时间:2020-09-17 12:00:19    阅读次数:59
108. 将有序数组转换为二叉搜索树(C++)
题目 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平 ...
分类:编程语言   时间:2020-09-16 12:21:04    阅读次数:31
二叉树前中后序非递归遍历
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), r ...
分类:其他好文   时间:2020-09-16 12:19:36    阅读次数:29
Java实现的二叉堆以及堆排序详解
一、前言 二叉堆是一个特殊的堆,其本质是一棵完全二叉树,可用数组来存储数据,如果根节点在数组的下标位置为1,那么当前节点n的左子节点为2n,有子节点在数组中的下标位置为2n+1。二叉堆类型分为最大堆(大顶堆)和最小堆(小顶堆),其分类是根据父节点和子节点的大小来决定的,在二叉堆中父节点总是大于或等于 ...
分类:编程语言   时间:2020-09-16 12:12:33    阅读次数:31
Java二叉树非递归实现
//前序遍历 /** * 根-左-右,所以入栈的时候要相反,有右节点则加入右节点,有左节点则加入左节点,每车循环的时候,弹一个 */ public ArrayList<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> lis ...
分类:编程语言   时间:2020-09-11 14:23:16    阅读次数:41
222. 完全二叉树的节点个数
class Solution(object): # 递归思路: # (1)如果二叉树为空,节点个数为0 # (2)如果二叉树不为空,二叉树节点个数 = 左子树节点个数 + 右子树节点个数 + 1 def countNodes(self, root): """ :type root: TreeNode ...
分类:其他好文   时间:2020-09-11 14:10:52    阅读次数:39
二叉树的前序、中序、后序遍历
二叉树的遍历 树的遍历是树的一种重要的运算。所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。那么树的两种重要的遍历模式是深度优先遍历和广度优先遍历,深度优先一般用递归,广度优先一般用队列。一般情况下能用递归实 ...
分类:其他好文   时间:2020-09-09 19:03:13    阅读次数:33
浅谈递归--数组添加
首先,我们上一篇说到了递归的二叉树套路,但是递归还有一种更常见的类型,就是题目我们要找到所有有可能的集合,这种类型我称之为"数组添加"。当然我现在这么说,可能你们看得也很懵,但是我举几个例子你们就懂了。我从leetcode里面找来了几道题目: ①给定一个数组 candidates 和一个目标数 ta ...
分类:编程语言   时间:2020-09-09 18:50:07    阅读次数:38
【Leetcode】101:对称二叉树(Python)
题目: 题目解析: 这个题目和之前我们做的稍微有一点不一样,需要我们在函数里面再写一个函数才能够进行递归,还有一种则是广度优先搜索的方法来求解这道题,这两种方法都需要掌握。这里先给出递归解法,迭代的方法稍后在补充。递归的方法你看看代码自然就懂了: # Definition for a binary ...
分类:编程语言   时间:2020-09-09 18:44:42    阅读次数:24
【Leetcode】100 : 相同的树(Python)
题目: 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 题目解析: 方法一: 这个题目很明显就可以用递归来做,有关树的题目用递归来做基本上是我们需要想到的首选!如果两个树是相同的,我们只需要比较其树根是相同的,同时递归调用比较树根 ...
分类:编程语言   时间:2020-09-09 18:40:26    阅读次数:32
10966条   上一页 1 ... 27 28 29 30 31 ... 1097 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!