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

电商网站分析wordpress 迁站

电商网站分析,wordpress 迁站,新安装的wordpress后台反应慢,青羊区区建设局网站什么是搜索树 搜索树是一种树形数据结构,用于高效地存储和检索数据。其核心特点是每个节点包含一个键(Key),并遵循特定的排序规则。常见的搜索树有二叉搜索树、自平衡二叉树、多叉搜索树等。AVL树、红黑树、Splay树都属于自平衡二…

什么是搜索树

搜索树是一种树形数据结构,用于高效地存储和检索数据。其核心特点是每个节点包含一个键(Key),并遵循特定的排序规则。常见的搜索树有二叉搜索树、自平衡二叉树、多叉搜索树等。AVL树、红黑树、Splay树都属于自平衡二叉树。

二叉搜索树

什么是二叉搜索树

1、是一棵二叉树
2、左子树所有节点值的大小 < 当前节点值的大小
3、右子树所有节点值的大小 > 当前节点值的大小
4、子树也满足上述条件
下图就是一棵二叉搜索树:
在这里插入图片描述
根据二叉搜索树的性质,当我们中序遍历这棵树的时候,发现它是按照顺序进行排序的。(上面中序排序为:10、20、30、40、50、60、70、80)

二叉搜索树的基本操作

查找

根据二叉搜索树的性质,“左边的值”都比节点的值小,“右边的值”都比节点的值大。这样我们查找的时候就可以直接排除了一边子树。

代码展示:
public TreeNode search(int key) {if(root == null) {return null;}TreeNode cur = root;while (cur != null) {if(cur.value == key) {return cur;}else if(cur.value > key) {//说明key在左树cur = cur.left;}else {//说明key在右树cur = cur.right;}}return null;//当整棵树都没有找到key,返回null
}
代码分析:

时间复杂度:最好情况下(根节点就是要找的):O(1);平均情况下:O(logN) —> 每次比较可以排除一半的节点,类似二分查找;最坏情况下(树是一棵单边树,也看成链表):O(N) -----> 需要遍历每个节点。

为了解决二叉搜索树存在的问题,就有了AVL树、红黑树

插入

插入数据后,还是要满足二叉搜索树的性质的。插入操作一般都是在叶子节点位置进行的。这是为了保证插入后树依然保持二叉搜索树的性质,并且不需要对已有的其他节点结构进行调整。

代码展示:
public boolean insert(int val) {TreeNode node = new TreeNode(val);//当二叉树为空,直接插入if(root == null) {root = node;return true;}TreeNode cur = root;//用来找到遍历二叉树TreeNode prev = null;//用来找到cur父亲节点while (cur != null) {if(cur.value == val) {return false;}else if(cur.value > val) {prev = cur;cur = cur.left;//根据性质,需要在左子树进行插入,cur向左子树移动。}else {prev = cur;cur = cur.right;//根据性质,需要在右子树进行插入,cur向右子树移动。}}//此时cur为null,prev指向cur父亲节点//根据prev的值决定将新节点插入左子树还是右子树if(prev.value > val) {prev.left = node;}else {prev.right = node;}return true;
}
代码分析:

时间复杂度:平均情况下:O(logN);最坏情况下(树是一棵单边树,也看成链表):O(N)。

删除

代码展示:
public void remove(int val) {if(root == null) {return;}TreeNode cur = root;TreeNode parent = null;if(cur.val > val) {parent = cur;cur = cur.left;}else if(cur.val < val) {parent = cur;cur = cur.right;}else {parent = cur;removeNode(cur,parent);//通过上述代码找到要删除的节点,再通过removeNode(cur,parent)方法删除节点}
}
//删除节点的方法
private void removeNode(TreeNode cur, TreeNode parent) {//1、cur.left == null:要删除的节点只有右节点if(cur.left == null) {if(cur == root) { //1.1、cur为root,则root = cur.rightroot = cur.right;//要删除的为根节点,根节点往后移}else {if(cur == parent.right) {//1.2、cur不为root,cur为父亲节点(parent)的右结点parent.right = cur.right;//让parent的右节点指向cur的右节点,跳过cur}else {//1.3、cur不为root,cur为父亲节点(parent)的左结点parent.left = cur.right;//让parent的左节点指向cur的右节点,跳过cur}}}else if(cur.right == null) {//2、cur.right == nullif(cur == root) { //2.1、cur为root,则root = cur.leftroot = cur.left;//要删除的为根节点,根节点往后移}else {if(cur == parent.right) {//2.2、cur不为root,cur为父亲节点(parent)的右结点parent.right = cur.left;//让parent的右节点指向cur的左节点,跳过cur}else {//2.3、cur不为root,cur为父亲节点(parent)的左结点parent.left = cur.left;//让parent的左节点指向cur的左节点,跳过cur}}}else {//3、cur.left != null && cur.right != null//这里的删除相当于替换删除。在以cur为root的树中,在右树找到最左边的节点(或者在左树找到最右边的节点)TreeNode target = cur.right;TreeNode targetParent = cur;while (target.left != null) {//在右树找到最左边的节点targettargetParent = target;target = target.left;}cur.val = target.val;//target在targetParent的左右子树位置不一样,删除方式不一样if(target == targetParent.left) {targetParent.left = target.right;}else {targetParent.right = target.right;}}
}
代码分析:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


文章转载自:

http://HnpDFNgn.brbnc.cn
http://jX9hZx2C.brbnc.cn
http://PRUgMCHi.brbnc.cn
http://dOyNfGqU.brbnc.cn
http://yFhq3GPh.brbnc.cn
http://OdZXvhaI.brbnc.cn
http://b3yG19hW.brbnc.cn
http://xG7yNnQQ.brbnc.cn
http://K0e8bt4O.brbnc.cn
http://hPvC8byy.brbnc.cn
http://2n4YPeEE.brbnc.cn
http://fOVG4VWs.brbnc.cn
http://BEl7belD.brbnc.cn
http://2J6qS5Yg.brbnc.cn
http://YlJKLs1A.brbnc.cn
http://HfBHgo8G.brbnc.cn
http://4I07dYoK.brbnc.cn
http://B7bmJpMu.brbnc.cn
http://Y4SXPM5s.brbnc.cn
http://DgNKlR1O.brbnc.cn
http://CelF2o4y.brbnc.cn
http://6BDfXs7G.brbnc.cn
http://sHiGWAkY.brbnc.cn
http://7nd2emTU.brbnc.cn
http://3bjtDCT5.brbnc.cn
http://pGLPB6zG.brbnc.cn
http://dk8E9oR4.brbnc.cn
http://5hJGjpg6.brbnc.cn
http://dCeAGfeB.brbnc.cn
http://dI5bmEQx.brbnc.cn
http://www.dtcms.com/wzjs/666449.html

相关文章:

  • 东莞品牌网站建设报价怎么做电脑网站后台
  • 凡科网的网站建设怎么做网店设计与装修实训报告
  • 公司网站域名无法解析阿里巴巴外发加工网珠海
  • 科技网站颜色服务器网络
  • jsp做的网站源码网站是公司域名是个人可以吗
  • 网站百度搜索情况和反链接优化建议资源搜索引擎搜索神器网
  • 智慧团建官方网站登录入口网站可以做固定资产吗
  • 做包装找灵感看什么网站xampp wordpress 花生壳
  • 免费名片在线设计网站乌克兰设计网站建设
  • 夏邑县城乡建设规划局网站wordpress教程教程
  • 收费网站方案网上购物app有哪些
  • 网上做任务网站个人社保缴费应交多少
  • 内部网站做域名解析到端口百万网址导航
  • 网站建设江阴重庆工程建设造价信息网站
  • wordpress企业站主题wordpress 媒体库 API
  • 青岛机关建设网站公众号做电影采集网站会被封
  • dede5.7微电影网站模板软件界面设计欣赏
  • 濮阳网站建设知名公司排名平台后期维护
  • 站长工具seo综合查询5g沧州网站建设制作设计优化
  • 怎样做网站建设方案代理注册公司怎么找
  • 如何创建一个企业网站定制东莞网站制作公司
  • 可以做婚礼鲜花布置的网站wordpress占用内存高
  • 设计logo免费网站html5移动网站开发流程
  • 搭建论坛网站的流程wordpress 速度很慢
  • 框架网站模板html素材图片
  • 网站后台登录不进去沈阳出名网站
  • 百度网站建设企业logo设计意义
  • 网站建设模版文档dw2021网页设计教程
  • 凡科建站代理商登录做房产的有哪些网站
  • 建立网站是很多企业开始进行网络营销的第一步网站建设需要了解的信息