给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/balanced-binary-tree 著作 ...
分类:
其他好文 时间:
2020-12-03 11:59:09
阅读次数:
6
二叉堆是一种应用很广的数据结构,今天,我们就来简单讲讲二叉堆。什么是二叉堆?二叉堆是一种特殊的堆。具有如下的特性:具有完全二叉树的特性。堆中的任何一个父节点的值都大于等于它左右孩子节点的值,或者都小于等于它左右孩子节点的值。根据第二条特性,我们又可以把二叉堆分成两类:1、最大堆:父节点的值大于等于左右孩子节点的值。2、最小堆:父节点的值小于等于左右孩子节点的值。我们把二叉堆的根节点称之为堆顶。根据
分类:
编程语言 时间:
2020-12-02 12:34:24
阅读次数:
6
一.描述 一个简单的二叉树的例子,比如求二叉树的所有节点的和 比如下面这棵树,所有节点的和为 1+2+3=6 二.递归法来求解 通过树的结构可以得到解法,即总和为当前节点的和加上左节点的和加上右节点的和 即 Sum = cur.val + cur.left.val + cur.right.val 根 ...
分类:
其他好文 时间:
2020-12-02 12:27:26
阅读次数:
4
大咖揭秘Java人都栽在了哪?点击免费领取《大厂面试清单》,攻克面试难关~>>> 非递归遍历实现思路: #include <stdlib.h> #include <stdio.h> #include <iostream> #include <string.h> typedef struct LINK ...
分类:
编程语言 时间:
2020-12-02 12:09:38
阅读次数:
8
108. 将有序数组转换为二叉搜索树 Difficulty: 简单 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树_每个节点 _的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是 ...
分类:
编程语言 时间:
2020-12-01 12:09:01
阅读次数:
6
##题目描述 给定一个数组a和数字k,找出a中第k大的数。 ##方法一:快排思想 找到一个枢轴,枢轴右边还有k-1个数即可。因为每次遍历只选择一边,因而降低了时间复杂度。 public class Main { public static int kthBiggest (int[]a,int k,i ...
分类:
其他好文 时间:
2020-12-01 11:48:36
阅读次数:
3
void copy(BiTree T,BiTree &NewT){ //复制树 if(T == NULL){ NewT = NULL; return; }else { NewT = new BiTNode; NewT->data = T->data; copy(T->lchild,NewT->lch ...
分类:
其他好文 时间:
2020-11-30 15:28:17
阅读次数:
2
CF1010F Tree [* easy] 给定一棵根节点为 $1$ 的二叉树 \(T\),你需要先保留一个包含 $1$ 号节点的连通块,然后给每个点确定一个权值 \(a_i\),使得对于每个点 \(u\) 都有其权值 \(a_u\) 大于等于其所有儿子的权值和 \(\sum a_v[(u,v)\i ...
分类:
其他好文 时间:
2020-11-27 11:06:06
阅读次数:
6
#include <stdio.h> typedef struct Node { int data; struct Node* lchild; struct Node* rchild; }Node; typedef Node* BinTree; int array[] = {1,2,3,4,5,6, ...
分类:
编程语言 时间:
2020-11-27 10:52:16
阅读次数:
17
/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ /** * Return an arr ...
分类:
其他好文 时间:
2020-11-26 14:41:52
阅读次数:
8