首页 > 其他分享 >二叉树

二叉树

时间:2022-09-25 14:13:36浏览次数:41  
标签:检索 存储 遍历 叶子 二叉树 节点

  • 数组存储方式的分析
优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。
缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 

  • 链式存储方式的分析
优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可, 删除效率也很好)。
缺点:在进行检索时,效率仍然较低,比如(检索某个值,需要从头节点开始遍历) 

  • 树存储方式的分析
能提高数据存储,读取的效率,  比如利用 二叉排序树(Binary Sort Tree),既可以保证数据的检索速度,同时也可以保证数据的插入,删除,修改的速度。

  • 简介
节点
根节点
父节点
子节点
叶子节点 (没有子节点的节点)
节点的权(节点值)
路径(从root节点找到该节点的路线)
层
子树
树的高度(最大层数)
森林 :多颗子树构成森林
  • 概念
树有很多种,每个节点最多只能有两个子节点的一种形式称为二叉树。
二叉树的子节点分为左节点和右节点

如果该二叉树的所有叶子节点都在最后一层,并且结点总数= 2^n -1 , n 为层数,则我们称为满二叉树。
如果该二叉树的所有叶子节点都在最后一层或者倒数第二层,而且最后一层的叶子节点在左边连续,倒数第二层的叶子节点在右边连续,我们称为完全二叉树

  • 遍历
前序遍历: 先输出父节点,再遍历左子树和右子树
中序遍历: 先遍历左子树,再输出父节点,再遍历右子树
后序遍历: 先遍历左子树,再遍历右子树,最后输出父节点

标签:检索,存储,遍历,叶子,二叉树,节点
From: https://www.cnblogs.com/chniny/p/16727758.html

相关文章

  • 二叉树查找和删除指定结点
    二叉树查找指定的节点前序查找的思路1.先判断当前节点的no是否等于要查找的2.如果是相等,则返回当前节点3.如果不等,则判断当前节点的左子节点是否为空,如果不为空,则递归......
  • 力扣-226-翻转二叉树/剑指Offer-27-二叉树的镜像
    直达链接直观的想法:我可以遍历并重建,但也很明显效率低下,可能达到O(N2),但或许可能拿来当作练习,检查自己遍历/重建二叉树的基本功不过现在先想想有没有效率更高的解法,我觉......
  • 力扣106 构造二叉树
      class Solution {public:    TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {    return reBuild(inorder, postorder);......
  • 力扣101 对称二叉树
        class Solution {public:    bool isSymmetric(TreeNode* root) {    if (root == nullptr)        return true;    retur......
  • leetcode 144. Binary Tree Preorder Traversal 二叉树展开为链表(中等)
    一、题目大意给你二叉树的根节点root,返回它节点值的前序遍历。示例1:输入:root=[1,null,2,3]输出:[1,2,3]示例2:输入:root=[]输出:[]示例3:输入:root=......
  • 平衡二叉树 -java实现
     packagetree;/***@author:tianhaichao*@date:2022/9/2215:38*@description:平衡二叉树AVL*1、每个节点的左右子树的高度差不大于1--->|left.height......
  • 二叉树遍历(递归、迭代)
    前中后序遍历递归法//前序遍历varpreorderTraversal=function(root){letres=[];constdfs=function(root){  if(root===null)return;  //先序遍历所......
  • 王道-考研-数据结构-线索二叉树
    线索二叉树的构造常用的是中序线索二叉树。寻找前驱结点:若左指针为线索,则其指向结点为前驱结点。若左指针为左孩子,则其左子树的最右侧结点为前驱结点。寻找后继结点......
  • BM31对称二叉树(判断二叉树是否symmetric?)(递归)
    描述给定一棵二叉树,判断其是否是自身的镜像(即:是否对称)例如:                 下面这棵二叉树是对称的下面这棵二叉树不对称。数据范围......
  • leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal 从前序与
    一、题目大意给定两个整数数组preorder和inorder,其中preorder是二叉树的先序遍历,inorder是同一棵树的中序遍历,请构造二叉树并返回其根节点。示例1:输入:pre......