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

二维码制作网站网站建设注意事项

二维码制作网站,网站建设注意事项,本地的上海网站建设,上海浦东做网站摘要: 1,Treap的介绍 2,Treap节点的插入 3,Treap节点的删除 4,Treap和笛卡尔树的区别 1,Treap的介绍 Treap又叫树堆,属于一种自平衡二叉搜索树,是由单词Tree和Heap构成,是…

摘要:

1,Treap的介绍

2,Treap节点的插入

3,Treap节点的删除

4,Treap和笛卡尔树的区别

1,Treap的介绍

Treap又叫树堆,属于一种自平衡二叉搜索树,是由单词Tree和Heap构成,是一种具有二叉搜索树和堆两种数据结构的特性。在前面我们讲过《笛卡尔树》,它也是一种具有二叉搜索树和堆的两种数据结构的特性,关于它俩的区别我们后面在介绍。

我们知道如果随机使用一组数据创建二叉搜索树,则二叉搜索树很可能会退化成一个链表,增加了操作的时间复杂度。这个时候我们可以给每个节点随机生成一个优先级,这个优先级要满足堆的特性。因为是随机生成的,所以从概率上来说退化成链表的可能性就非常小。

Treap在节点插入和删除的时候也会进行旋转,因为它不是高度平衡的,所以Treap比我们前面讲的《AVL树》要简单很多,在讲解之前我们先来看下Treap的节点类。

Java 代码:

class TreapNode {int key, priority;TreapNode left, right;public TreapNode(int key) {this.key = key;// 节点优先级,满足堆的特性,随机生成的this.priority = new Random().nextInt();this.left = this.right = null;}
}

C++ 代码:

struct TreapNode {int key, priority;TreapNode *left = nullptr;TreapNode *right = nullptr;// 节点优先级priority,满足堆的特性,随机生成的TreapNode(int key) : key(key), priority(rand()) {}
};

节点类中有一个优先级priority,它是随机生成的,要满足堆的特性,这里我们使用最大堆,堆顶元素是优先级最高的。

再来看下节点的旋转,旋转不会改变二叉搜索树的特性,但会改变堆的特性,旋转的目的就是把优先级高的节点往上调整,优先级低的节点往下调整,这和我们前面讲的《数据结构堆》类似,不过在堆中是直接交换,不是通过旋转。

ea1a7ae8745d50a6669026df1ca39869.png

357713933934536f35e12ef2edf3b2c8.png

http://www.yayakq.cn/news/368553/

相关文章:

  • 佛山集团网站建设企业移动端建设与网站建设
  • 移动的网络网站建设淘宝网站c#设计怎么做
  • 域名查询网站北京顺义做网站
  • 网站开发swf素材网站开发税率是多少
  • 个人做网站 用什么语言wordpress图标字体不显示
  • 网站是如何制作的百度快照抓取的是网站哪里的内容
  • 建站之家官网有什么网站可以接设计做
  • 阜宁网站建设服务商怎样申请注册公司
  • 可以自己做安卓app的网站网站制作多久
  • 深圳高端网站建设报价医院网站开发违法吗
  • 做网站发表的赚钱庆阳在线网
  • 江苏润通市政建设工程有限公司网站网站谁做的比较好看的
  • 四平英文网站建设贵阳网站建设设计
  • 弥勒网站设计公司西安自助建站
  • 上海网站快速排名优化有特效的网站
  • wordpress用户站点网站开发语言都有什么
  • 图片字体转wordpress台州做网站优化
  • 手机信息分类网站制作电脑培训班电脑培训学校
  • 365建站网湖南长沙防控指挥部最新公告
  • 家教网站怎么做做微网站公司简介
  • 做标书的专业网站莱阳网页设计
  • 网站建设的主题什么比较好dedecms 做微网站
  • 织梦个人网站模版装修设计合同标准范本
  • 腾讯云主机能给几个网站备案网站开发要求描述
  • 新手做亚马逊要逛哪些网站广东备案网站
  • 塑胶东莞网站建设技术支持定制西装
  • 免费注册网站软件有做教育行业的招聘网站吗
  • 青海建设厅通报网站网站推广淘宝联盟怎么做
  • 济南营销型网站建设搜索关键词站长工具
  • 西安跨境电子商务平台网站做平面资源比较好的网站