当前位置: 首页 > wzjs >正文

搜索关键词的网站wordpress博客打开慢

搜索关键词的网站,wordpress博客打开慢,淘宝指数查询工具,机床网二叉树(Binary Tree)是数据结构中的基础类型,广泛应用于查找、排序、图结构、表达式计算等算法中。下面将从 概念定义 → 分类 → 常用操作 → 核心算法 → C代码示例 全面介绍。一、二叉树基本概念 二叉树是一种每个节点最多有两个子节点&am…

二叉树(Binary Tree)是数据结构中的基础类型,广泛应用于查找、排序、图结构、表达式计算等算法中。下面将从 概念定义 → 分类 → 常用操作 → 核心算法 → C++代码示例 全面介绍。


一、二叉树基本概念

二叉树是一种每个节点最多有两个子节点(左孩子和右孩子)的树结构。常见术语:

  • 根节点(root):没有父节点的节点
  • 叶子节点:没有任何子节点
  • 高度:节点到叶子节点最长路径上的边数
  • 完全二叉树:除了最后一层,其他层节点都满,且最后一层节点从左向右排列
  • 满二叉树:所有非叶节点都有两个子节点

二、常见二叉树类型

类型描述
普通二叉树每个节点最多两个子节点
二叉搜索树(BST)左子树值 < 当前节点 < 右子树值
平衡二叉树(AVL)任意节点左右子树高度差 ≤ 1
完全二叉树除最底层外都是满的,底层从左到右连续
堆(最大/最小堆)满足堆性质的完全二叉树
红黑树 / Treap / 伸展树自平衡 BST 的高级实现

三、常见操作和算法

操作说明
插入 / 删除 / 查找常用于 BST、AVL、红黑树
遍历先序 / 中序 / 后序 / 层序遍历
最大最小值通常用于 BST
高度 / 直径计算深度优先搜索
判断平衡性、对称性、路径和常见面试题考点

四、遍历方式详解与代码

1. 递归遍历(先序、中序、后序)

struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};// 先序
void preorder(TreeNode* root) {if (!root) return;std::cout << root->val << " ";preorder(root->left);preorder(root->right);
}// 中序
void inorder(TreeNode* root) {if (!root) return;inorder(root->left);std::cout << root->val << " ";inorder(root->right);
}// 后序
void postorder(TreeNode* root) {if (!root) return;postorder(root->left);postorder(root->right);std::cout << root->val << " ";
}

2. 层序遍历(BFS)

#include <queue>
void levelOrder(TreeNode* root) {if (!root) return;std::queue<TreeNode*> q;q.push(root);while (!q.empty()) {TreeNode* cur = q.front(); q.pop();std::cout << cur->val << " ";if (cur->left) q.push(cur->left);if (cur->right) q.push(cur->right);}
}

五、常见算法题示例(C++)

1. 判断是否为合法 BST

bool isValidBST(TreeNode* root, TreeNode* min = nullptr, TreeNode* max = nullptr) {if (!root) return true;if ((min && root->val <= min->val) || (max && root->val >= max->val)) return false;return isValidBST(root->left, min, root) && isValidBST(root->right, root, max);
}

2. 二叉树最大深度

int maxDepth(TreeNode* root) {if (!root) return 0;return 1 + std::max(maxDepth(root->left), maxDepth(root->right));
}

3. 路径总和是否等于 target

bool hasPathSum(TreeNode* root, int sum) {if (!root) return false;if (!root->left && !root->right) return sum == root->val;return hasPathSum(root->left, sum - root->val) || hasPathSum(root->right, sum - root->val);
}

六、二叉搜索树(BST)操作实现

插入节点

TreeNode* insert(TreeNode* root, int val) {if (!root) return new TreeNode(val);if (val < root->val) root->left = insert(root->left, val);else root->right = insert(root->right, val);return root;
}

查找最小值

int findMin(TreeNode* root) {while (root->left) root = root->left;return root->val;
}

七、刷题推荐(适合 LeetCode)

题目类型
104. 二叉树最大深度递归
226. 翻转二叉树后序
110. 平衡二叉树DFS + 剪枝
101. 对称二叉树递归+比较子树结构
230. BST中第K小元素中序遍历
124. 二叉树中的最大路径和DFS回溯
236. 最近公共祖先(LCA)递归思维
297. 二叉树序列化和反序列化递归+层序

八、补充:建树方法

TreeNode* buildTree(const std::vector<int>& nodes, int& i) {if (i >= nodes.size() || nodes[i] == -1) { ++i; return nullptr; }TreeNode* root = new TreeNode(nodes[i++]);root->left = buildTree(nodes, i);root->right = buildTree(nodes, i);return root;
}
// 示例:{-1表示空指针}
// [1, 2, -1, -1, 3, -1, -1] 构建一颗根为1,左右为2,3的树

总结

方向推荐算法题
遍历操作先中后序,层序
递归思维深度、路径和、翻转、判断 BST
搜索最近公共祖先、寻找节点路径
构造树根据前序+中序建树、序列化反序列化
优化技巧剪枝、缓存、DFS+回溯


文章转载自:

http://rFI6pyNa.fkfyn.cn
http://lVy97OZK.fkfyn.cn
http://R1ydG4fz.fkfyn.cn
http://UJPBoLAd.fkfyn.cn
http://pBAVGNTq.fkfyn.cn
http://I4LADCRG.fkfyn.cn
http://ouvVvqJH.fkfyn.cn
http://KEWtfQIn.fkfyn.cn
http://yDYhObRc.fkfyn.cn
http://KG8socmX.fkfyn.cn
http://oX07inct.fkfyn.cn
http://yklTLKKV.fkfyn.cn
http://Xd0cwIVg.fkfyn.cn
http://UfClwXed.fkfyn.cn
http://mlCnwUTq.fkfyn.cn
http://u8vUWpjA.fkfyn.cn
http://ViH2JmLA.fkfyn.cn
http://nRwtkiA6.fkfyn.cn
http://QWlqT8FH.fkfyn.cn
http://IdoUBFsw.fkfyn.cn
http://S5bW5ico.fkfyn.cn
http://tMRkWtZL.fkfyn.cn
http://z9rXa5gj.fkfyn.cn
http://hqXwdVxj.fkfyn.cn
http://g49aSPtx.fkfyn.cn
http://bklckWie.fkfyn.cn
http://d40O46PR.fkfyn.cn
http://O8q0sDmJ.fkfyn.cn
http://i12qMxze.fkfyn.cn
http://KX6OsT9a.fkfyn.cn
http://www.dtcms.com/wzjs/728937.html

相关文章:

  • wordpress 多用户商城搜索引擎环境优化
  • js做网站登录框验证码网上进货渠道有哪些平台
  • 网站建设电商网站设计原则
  • 阿里国际网站官网入口东莞市建设工程监督网
  • 网站动态与静态网站专题页面设计欣赏
  • 泰安专业的网站建设哪些公司的网站做的很好
  • 南通建设网站公司自定义页设计与制作
  • 单页面网站怎么做seo阿里云服务器创建网站
  • 网站做虚假宣传有没有做处罚河北建设工程信息网已取消
  • 校史网站开发技术ssh安装wordpress
  • 建设购物平台网站网站服务器有哪些种类
  • 惠州做棋牌网站建设哪家技术好建立网站建设考核激励制度
  • 做h5动画网站医院网站建设招标说明
  • 丽水建设部门网站国外虚拟币网站开发
  • 如何判断网站是不是自适应肇庆网站制作系统
  • 做号网站吗如何建设备案网站视频教程
  • 网站建设座谈会上的发言dede手机wap网站模板
  • 做汽车价格的网站建设中国建设银行网站 个人客户
  • 营销型网站建设要多少钱什么网店可以免费开店
  • 手机网站源码教程古镇网站建设公司
  • 米特号类似网站酷家乐在线家装设计
  • 昆山城市建设网站江苏机械加工网
  • 网站备案资料asp.net 做网站实例
  • 做网站分辨率修改深圳网站搜索引擎优化
  • 微信浏览为网站的缓存怎么清理国外做兼职网站
  • 网站手机缩放wordpress 5.0.2关键词设置
  • 做网编去网站还是工作室好seo运营学校
  • 黄金网站app软件下载安装免费wordpress 模版下载
  • 公司网站建设深全球建筑与室内设计网
  • 少儿美术专业网站做课件网站后台分析图怎么做