广西种什么果树最赚钱 ry

【智眼慧心观天下】只需在家门口种这样一棵“树”,还交什么电费啊!
封面图片:联想新AR眼镜C220
1月14日(星期日)
所有国家都会专注于发展计算机科学,各国对人工智能统治权的争夺可能引发第三次世界大战。
——特斯拉 CEO 埃隆·马斯克
【中国速度挑战CES 2018】
百度DuerOS亮相CES 2018
在DuerOS展台专区,集中展示了搭载DuerOS的渡鸦raven H、TCL电视、HTCU11+手机等数十款智能硬件产品,还包括刚刚在2018百度世界大会美国场发布的搭载DuerOS 2.0的三款智能硬件产品:小鱼在家VS1智能视频音箱、Sengled生迪智能音箱灯和popIn Aladdin智能投影吸顶灯。
华为发布新品路由
路由HUAWEI WiFi Q2采用双通道千兆组网技术,实现百兆宽带无损覆盖全家,解决复杂户型覆盖难题;即插即用,无需任何配置。
腾讯AI语音机顶盒首度亮相CES2018
由腾讯视频和创维数字联合打造的“企鹅极光盒子”首度亮相,这是一款外形萌爆,融合腾讯最新人工智能技术的AI语音机顶盒。
海尔推多款智能连接及智能硬件
海尔推出智能手表ASU Watch,搭载了世界上最小激光投影模组,可以通过腕部投影完成各种应用的触控交互海尔卫玺智能马桶盖与小管家多功能浴霸则互联互通
中兴通讯推安全可穿戴设备
中兴通讯宣布将携手高通、Wearsafe探索基于物联网的个人安全创新解决方案。三方将Wearsafe个人安全应用软件、高通骁龙Wear 1100芯片集成到中兴移动设备,打造新一代可穿戴设备。
库评:三分之一的展位,包括香港和台湾在内的约1500家中国企业,无疑是CES 2018的关键词,我们展示了无人驾驶、人工智能、数字打印、高清电视、VR/AR等一大波产品和技术,表明中国企业正努力成为下一场技术革命的主角,“中国数量”正在逐渐向“中国质量”转变。
【芯片那些事儿】
英伟达推史上最强AI芯片
在美国拉斯维加斯2018 CES展上,英伟达宣布推出的首批Xavier自主机器处理器现已开始启动,它致力于借助AI从各个方面提升驾驶体验,并为NVIDIA在自动驾驶领域的320家合作企业和机构提供未来技术路线图。
英特尔发布AI芯片
英特尔宣布推首款“神经形态”芯片Loihi,该AI芯片可模仿人类大脑学习和理解的方式,芯片不同的部分承担不同的学习任务。Loihi会随着学习时间变得更加智能,但并不需要大量的数据训练来完成学习过程。
AMD宣布将推出12nm CPU和7nm GPU
AMD宣布将在2018年推出更多速度更快的处理器和性能更强大的图形芯片,这些芯片包括加速处理单元,或搭配Ryzen处理器和Radeon Vega图形芯片的桌面芯片。
高通就芯片漏洞发声
高通表示,针对受到近期曝光的芯片级安全漏洞影响的产品,公司正在开发更新。高通发言人并未指明哪些产品受到了影响,但即将发布的骁龙845芯片很可能包含在其中。
库评:传统芯片正在向AI芯片进化,物联网时代对芯片的需求和要求更高,但这不能成为忽视信息安全的借口。此次“芯片门”事件再次给整个信息行业敲响安全警钟,在新一代信息革命对芯片运算速度提出更高要求的背景下,如何同时确保效率与安全成为一个关键挑战。
【自动驾驶篇】
雷克萨斯自动驾驶车正式亮相
丰田正式发布了最新版本的自动驾驶车。该车是搭载丰田3.0版本自动驾驶平台的雷克萨斯LS 600hL,装备有激光雷达,雷达和摄像头阵列。
奇瑞发布全新自动驾驶车型
奇瑞艾瑞泽5搭载Apollo 2.0系统的首期功能,覆盖了自主巡航、车道保持、自主变道以及自动驾驶人机交互系统。全车装配有9个摄像头,4个毫米波雷达和12个超声波雷达,共同组成360度传感器系统。
恩智浦推出自动驾驶平台
恩智浦推出Automated Drive Kit,这是一款提供软件支持的自动驾驶汽车应用开发和测试平台。借助该套件,可快速开发、测试和部署自动驾驶算法和应用。
库评:无论外界怎么评价自动驾驶,自动驾驶终归会实现,需要明确的问题也只有两个——技术和时间。而其根本目的是解放人类的双手,为日常出行带来方便,目前全球的汽车行业都在朝着这个方向不断前进。作为一个十分具有发展前景的产业,各大相关公司都在积极的参与。
【黑科技展示】
AI可窥视大脑思考“影像”
日本京都大学Kamitani实验室的研究人员最近发明了一个AI机器,这个AI能研究我们大脑中的电子信号,根据磁共振成像(fMRI)扫描的信息准确地计算出某人正在看的图像,甚至正在思考的东西。
收集体温,一个月可坐收1枚比特币
最近,荷兰一个叫"人类老化研究所"的组织研发了一套可穿戴式的热电发电机设备以捕捉过剩的体热,再将它转换成电能去挖矿。不过目前它需要开采44,000人一个月的热力才买得起一个比特币。
日本新推出“刷手支付”
日本一家信用卡公司将在今年2月试验基于手掌的支付系统,消费者只要提前注册手掌信息,之后购物扫一扫手掌就可以完成支付。号称比刷脸靠谱,出错概率千亿分之一。
库评:黑科技除了能给我带来便利之外,最大的特点就是能让我们感到惊艳。日本研究能够窥视大脑思考的AI机器着实让人眼前一亮,如果可行,是否可以将它用于警方破案,让谎言无处躲藏。
【新奇产品榜】
美国公司推男版性爱机器人
据悉,Realbotix公司创始人开发了名为“Harmony”的人工智能应用,能与机器人的头部系统同步,赋予人工智能个性,机器人可以通过Harmony与顾客交谈,学习并适应不同的性要求,从而实现最真实的性爱机器人体验。
印度女孩发明防性侵内裤
这款内裤配有密码锁和GPS定位系统,在遭到侵犯时,女性受害者便可利用该内裤的定位仪器向警方发出报警信号,并通过内置录像机拍下袭击者的面部。
Spartan推出男士防辐射内裤
美-法企业Spartan发布了一款声称能够屏蔽 99% 手机和 Wi-Fi 辐射的男士内裤。其采用了纯银线棉纺布料,组成一个基于四角裤的“法拉第笼”以保护男性脆弱的私处。据称,它不会触发机场等安检场合的金属探测仪。售价为42欧元。
来源:物联网智库、三迪时空网、工业4.0俱乐部、cnBeta、高工机器人网、天工社、快科技、钉科技、车云网、环球网、腾讯科技、南方企业新闻网、中国网、新浪科技、人民网、C114、TechWeb
来源公众号:最黑科技 ID:zuiheikeji
我们都知道,种植树木主要是为了美观和清新空气。
然而,法国一位50多岁的老大爷。
却在自家后院种了一棵特别的“树” ,不仅美观,从此还不用交电费了!
Jerome Michaud-Lariviere
这棵神奇的树就是——
Wind Trees
走近点一看,才发现它不是真正的树。
它的树干是白色的钢材,绿叶更像是刀片一样挂在枝干上,而那些绿叶其实是一个个微型涡轮发电机。
当风吹过时,叶子会随着风转动,叶片中的电路板就能产生动力发电了。
而且,与传统发电机不同。
它对风速的要求不高,1.5-2m/s的软风吹过,人体都感知不到,它却能正常发电。
一片叶子就能产生100瓦电力!
一棵树上有54个叶片,发电量就是5400瓦,足够一个家庭正常的电力需求。
值得一提的是。
用树发电这个奇特发明的设计者,并不是工程师或者科学家,而是一位年过半百的小说家。
当时很多人不看好,觉得写小说的怎么可能研发黑科技。
不过,老大爷可不管那么多,直接霸气地投入了220万欧元进行研究,将梦想变成了现实。
目前这棵风力树已经在德国、瑞士、法国等国家投入使用,成本约35000美元,约合人民币24万。
创友们如果去到欧洲旅游,看到它可一定不要惊奇哦~
一起来看看视频介绍——
以后,大家只需在家门口种上这样一棵树,还交什么电费啊!
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点您是不是在找:
买家还在看:
当前位置:
关注行业资讯
出售果树苗|苹果新品种[澳洲青苹]果皮光滑.翠绿色.脆甜
detail3e达人选购¥8.00¥0.90¥3600.00¥0.65¥280.00
detail3e周边优质供应商山东省临沂市甘肃省平凉市山东省烟台市陕西省渭南市
同参数产品
同参数产品
同参数产品
树苗成活率:
同参数产品
树苗年限:
同参数产品
结果年限:
同参数产品
产地/厂家:
同参数产品
同参数产品
新奇创意项目:
同参数产品
同参数产品
慧聪网厂家沭阳县花络港湾园艺场为您提供出售果树苗|苹果新品种[澳洲青苹]果皮光滑.翠绿色.脆甜的详细产品价格、产品图片等产品介绍信息,您可以直接联系厂家获取出售果树苗|苹果新品种[澳洲青苹]果皮光滑.翠绿色.脆甜的具体资料,联系时请说明是在慧聪网看到的。
detail3e相关商品推荐¥8.00¥0.90¥3600.00¥0.65¥280.00¥6.00¥330.00¥20.00热门商品推荐 ¥8.00 ¥0.90 ¥3600.00 ¥0.65 ¥280.00 ¥6.00 ¥330.00 ¥20.00
detail3e店内热门商品面议面议面议¥1.10
detail3e苹果相关资源苹果热门产品搜索苹果相关热门专题更多&热门商机最新商机
提示:您在慧聪网上采购商品属于商业贸易行为。以上所展示的信息由卖家自行提供,内容的真实性、准确性和合法性由发布卖家负责,请意识到互联网交易中的风险是客观存在的。推荐使用,保障您的交易安全!
所在地:江苏省&&
联系人:王龙 & 先生
13- ******
134 ******
请供应商联系我
手机号不能为空
姓名不能为空
请供应商联系我
您对该公司的咨询信息已成功提交请注意接听供应商电话。
detail3e关于苹果
detail3e您是不是在找
您采购的产品:
请输入采购产品
您的手机号码:
请输入手机号码
*采购产品:
请输入采购产品
*采购数量/单位:
请输入采购数量
请选择单位
*采购截止日期:
请输入正确的手机号码
请输入验证码
*短信验证码:
<input id="valid_Code1" maxlength="6" placeholder="请输入验证码" name="VALIDCODE" class="codeInput" onkeyup="this.value=this.value.replace(/\D/g,'')" onkeypress="if(event.keyCode
57) event.returnValue =" type="text">
免费获取验证码
为了安全,请输入验证码,我们将优先处理您的需求!
请输入验证码
发送成功!
慧聪已收到您的需求,我们会尽快通知卖家联系您,同时会派出采购专员1对1为您提供服务,请您耐心等待!
134 ******
联系人:王龙&生产 经理
公司名称:沭阳县花络港湾园艺场
备注:点击关注按钮后才可自动收到卖家电话
请输入正确的手机号码
请输入验证码
*短信验证码:
免费获取验证码
为了安全,请输入验证码,我们将优先处理您的需求!
请输入验证码
按字母分类 :大树能活多少年?_百度知道
大树能活多少年?
谁能告诉我?
我有更好的答案
这种树,为此,人们称这种流血树为&quot,便会流出像人身上鲜血的树汁: 应该是龙血树,妇科杂症等病。 据专家研究;龙血权(也称血竭)&,在中国和热带很多地区都有,品种也很多。
世界上最长寿的植物--龙血树,用刀在上面一划,有一种生长缓慢而耐干旱的喜光树:
在西双版纳热带植物研究所里,树皮灰白纵裂,树叶繁茂,此树杆粗短。龙血树的一汁液可入药,主治跌打损伤,血瘀疼痛,风湿麻木世界上寿命最长的大树
采纳率:56%
杏树、柿树可以活一百多年。柑、橘、板栗能活到三百岁,七八个人伸开双臂,才能合围它。此树流出的树脂暗红色,西班牙人测定它大约有八千至一万岁。这才是世界树木中的老寿星。五百多年前,是著名的防腐剂,要算非洲西部加那利岛上的一棵龙血树。这是我国目前活着的寿命最长的树,故名为龙血树。 许多树木的寿命都在百年以上,但是,它并不算老。曲阜的桧柏还是两千四百年前的老古董呢。龙血树是常绿的大树,当地人民称为“龙之血”。台湾省阿里山的红桧,竟有三千多年的历史,树身一般高20米,基部周围长却有10米。南京的一株六朝松已有一千四百年的历史了。杉树可活一千岁。可惜在1868年的一次风灾中毁掉了世界上最长寿的树
世界上最长寿的树,要算非洲西部加那利岛上的一棵龙血树。五百多年前,西班牙人测定它大约有八千至一万岁。这才是世界树木中的老寿星。可惜在1868年的一次风灾中毁掉了。龙血树是常绿的大树,树身一般高20米,基部周围长却有10米,七八个人伸开双臂,才能合围它。此树流出的树脂暗红色,是著名的防腐剂,当地人民称为“龙之血”,故名为龙血树。 许多树木的寿命都在百年以上。杏树、柿树可以活一百多年。柑、橘、板栗能活到三百岁。杉树可活一千岁。南京的一株六朝松已有一千四百年的历史了,但是,它并不算老。曲阜的桧柏还是两千四百年前的老古董呢。台湾省阿里山的红桧,竟有三千多年的历史。这是我国目前活着的寿命最长的树。
一般能活10000年,像大树这样的能活0000000年
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
学校种了一批树有200棵,结果有20棵没成活,这批树的成活率是______.
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
×100%=90%;答:这批树的成活率是90%.故答案为:90%.
为您推荐:
理解成活率,成活率是指成活树的棵数占植树总棵数的百分之几,计算方法为:×100%=成活率,由此列式解答即可.
本题考点:
百分率应用题.
考点点评:
此题属于百分率问题,计算的结果最大值为100%,都是用一部分数量(或全部数量)除以全部数量乘百分之百.
扫描下载二维码算法05 之红-黑树
时间: 19:52:43
&&&& 阅读:158
&&&& 评论:
&&&& 收藏:0
&从第4节的分析中可以看出,二叉搜索树是个很好的数据结构,可以快速地找到一个给定关键字的数据项,并且可以快速地插入和删除数据项。但是二叉搜索树有个很麻烦的问题,如果树中插入的是随机数据,则执行效果很好,但如果插入的是有序或者逆序的数据,那么二叉搜索树的执行速度就变得很慢。因为当插入数&#20540;有序时,二叉树就是非平衡的了,排在一条线上,其实就变成了一个链表……它的快速查找、插入和删除指定数据项的能力就丧失了。
&&&&&&& 为了能以较快的时间O(logN)来搜索一棵树,需要保证树总是平衡的(或者至少大部分是平衡的),这就是说对树中的每个节点在它左边的后代数目和在它右边的后代数目应该大致相等。红-黑树的就是这样的一棵平衡树,对一个要插入的数据项,插入例程要检查会不会破坏树的特征,如果破坏了,程序就会进行纠正,根据需要改变树的结构,从而保持树的平衡。那么红-黑树都有哪些特征呢?
1.红-黑树的特征
&&&&&&& 它主要有两个特征:1.节点都有颜色;2.在插入和删除的过程中,要遵循保持这些颜色的不同排列的规则。首先第一个特征很好解决,在节点类中店家一个数据字段,例如boolean型变量,以此来表示节点的颜色信息。第二个特征比较复杂,红-黑树有它的几个规则,如果遵循这些规则,那么树就是平衡的。红-黑树的主要规则如下:
&&&&&&& 1.每个节点不是红色就是黑色的;
&&&&&&& 2.根节点总是黑色的;
&&&&&&& 3.如果节点是红色的,则它的子节点必须是黑色的(反之不一定);
&&&&&&& 4.从根节点到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(即相同的黑色高度)。&&&&
&&&&&&& 在红-黑树中插入的节点都是红色的,这不是偶然的,因为插入一个红色节点比插入一个黑色节点违背红-黑规则的可能性更小。原因是:插入黑色节点总会改变黑色高度(违背规则4),但是插入红色节点只有一半的机会会违背规则3。另外违背规则3比违背规则4要更容易修正。当插入一个新的节点时,可能会破坏这种平衡性,那么红-黑树是如何修正的呢?
2.平衡性的修正
&&&&&&& 红-黑树主要通过三种方式对平衡进行修正,改变节点颜色、左旋和右旋。这看起来有点抽象,我们分别来介绍它们。
&&&&&&& 改变节点颜色比较容易理解,因为它违背了规则3。假设现在有个节点E,然后插入节点A和节点S,节点A在左子节点,S在右子节点,目前是平衡的。如果此时再插一个节点,那么就出现了不平衡了,因为红色节点的子节点必须为黑色,但是新插的节点是红色的。所以这时候就必须改变节点颜色了。所以我们将根的两个子节点从红色变为黑色(至于为什么都要变,下面插入的时候会详细介绍),将父节点会从黑色变成红色。可以用如下示意图表示一下:
&&&&&&& 通常左旋操作用于将一个向右倾斜的红色链接旋转为向左链接。示意图如下:
&&&&&&& 左旋有个很萌萌哒的动态示意图,可以方便理解:
&&&&&&& 右旋可左旋刚好相反,这里不再赘述,直接看示意图:
&&&&&&& 当然咯,右旋也有个萌萌的动态图:
&&&&&&& 这里主要介绍了红-黑树对平衡的三种修正方式,大家有个感性的认识,那么什么时候该修正呢?什么时候该用哪种修正呢?这将是接下来我们要探讨的问题。
3.红-黑树的操作
&&&&&&& 红-黑树的基本操作是添加、删除和旋转。对红-黑树进行添加或删除后,可能会破坏其平衡性,会用到哪种旋转方式去修正呢?我们首先对红-黑树的节点做一介绍,然后分别对左旋和右旋的具体实现做一分析,最后我们探讨下红-黑树的具体操作。
1.红-黑树的节点
&&&&&&& 红-黑树是对二叉搜索树的改进,所以其节点与二叉搜索树是差不多的,只不过在它基础上增加了一个boolean型变量来表示节点的颜色,具体看RBNode&T&类:
2.左旋具体实现
&&&&&&& 上面对左旋的概念已经有了感性的认识了,这里就不再赘述了,我们从下面的代码中结合上面的示意图,探讨一下左旋的具体实现:
3.右旋具体实现
&&&&&&& 上面对右旋的概念已经有了感性的认识了,这里也不再赘述了,我们从下面的代码中结合上面的示意图,探讨一下右旋的具体实现:
4.插入操作
&&&&&&& 分析完了红-黑树中主要的旋转操作,接下来我们开始分析常见的插入、删除等操作了。这里先分析插入操作。&由于红-黑树是二叉搜索树的改进,所以插入操作的前半工作时相同的,即先找到待插入的位置,再将节点插入,先来看看插入的前半段代码:
&&&&&&& 这与二叉搜索树中实现的思路一模一样,这里不再赘述,主要看看方法里面最后一步insertFixUp操作。因为插入后可能会导致树的不平衡,insertFixUp方法里主要是分情况讨论,分析何时变色,何时左旋,何时右旋。我们先从理论上分析具体的情况,然后再看insertFixUp方法的具体实现。
&&&&&&& 如果是第一次插入,由于原树为空,所以只会违反红-黑树的规则2,所以只要把根节点涂黑即可;如果插入节点的父节点是黑色的,那不会违背红-黑树的规则,什么也不需要做;但是遇到如下三种情况时,我们就要开始变色和旋转了:
&&&&&&& 1.&插入节点的父节点和其叔叔节点(祖父节点的另一个子节点)均为红色的;
&&&&&&& 2.&插入节点的父节点是红色,叔叔节点是黑色,且插入节点是其父节点的右子节点;
&&&&&&& 3.&插入节点的父节点是红色,叔叔节点是黑色,且插入节点是其父节点的左子节点。
&&&&&&& 下面我们先挨个分析这三种情况都需要如何操作,然后再给出实现代码。
&&&&&&& 对于情况1:插入节点的父节点和其叔叔节点(祖父节点的另一个子节点)均为红色的。此时,肯定存在祖父节点,但是不知道父节点是其左子节点还是右子节点,但是由于对称性,我们只要讨论出一边的情况,另一种情况自然也与之对应。这里考虑父节点是祖父节点的左子节点的情况,如下左图所示:
&&&&&&&&&&&
&&&&&&& 对于这种情况,我们要做的操作有:将当前节点(4)的父节点(5)和叔叔节点(8)涂黑,将祖父节点(7)涂红,变成上右图所示的情况。再将当前节点指向其祖父节点,再次从新的当前节点开始算法(具体等下看下面的程序)。这样上右图就变成了情况2了。
&&&&&&& 对于情况2:插入节点的父节点是红色,叔叔节点是黑色,且插入节点是其父节点的右子节点。我们要做的操作有:将当前节点(7)的父节点(2)作为新的节点,以新的当前节点为支点做左旋操作。完成后如左下图所示,这样左下图就变成情况3了。
&&&&&&& 对于情况3:插入节点的父节点是红色,叔叔节点是黑色,且插入节点是其父节点的左子节点。我们要做的操作有:将当前节点的父节点(7)涂黑,将祖父节点(11)涂红,在祖父节点为支点做右旋操作。最后把根节点涂黑,整个红-黑树重新恢复了平衡,如右上图所示。至此,插入操作完成!
&&&&&&& 我们可以看出,如果是从情况1开始发生的,必然会走完情况2和3,也就是说这是一整个流程,当然咯,实际中可能不一定会从情况1发生,如果从情况2开始发生,那再走个情况3即可完成调整,如果直接只要调整情况3,那么前两种情况均不需要调整了。故变色和旋转之间的先后关系可以表示为:变色-&左旋-&右旋。
&&&&&&&&至此,我们完成了全部的插入操作。下面我们看看insertFixUp方法中的具体实现(可以结合上面的分析图,更加利与理解):
5.删除操作
&&&&&&& 上面探讨完了红-黑树的插入操作,接下来讨论删除,红-黑树的删除和二叉查找树的删除是一样的,只不过删除后多了个平衡的修复而已。我们先来回忆一下二叉搜索树的删除(也可以直接阅读这篇博客:):
&&&&&&& 1.&如果待删除节点没有子节点,那么直接删掉即可;
&&&&&&& 2.&如果待删除节点只有一个子节点,那么直接删掉,并用其子节点去顶替它;
&&&&&&& 3.&如果待删除节点有两个子节点,这种情况比较复杂:首选找出它的后继节点,然后处理“后继节点”和“被删除节点的父节点”之间的关系,最后处理“后继节点的子节点”和“被删除节点的子节点”之间的关系。每一步中也会有不同的情况,我们结合下面代码的分析就能弄清楚,当然了,如果已经弄懂了二叉搜索树,那自然自然都能明白,这里就不赘述了。
&&&&&&& 我们来看一下删除操作的代码及注释:
&&&&&&& 下面我们主要看看方法里面最后的removeFixUp操作。因为remove后可能会导致树的不平衡,removeFixUp方法里主要是分情况讨论,分析何时变色,何时左旋,何时右旋。我们同样先从理论上分析具体的情况,然后再看removeFixUp方法的具体实现。
&&&&&&& 从上面的代码中可以看出,删除某个节点后,会用它的后继节点来填上,并且后继节点会设置为和删除节点同样的颜色,所以删除节点的那个位置是不会破坏平衡的。可能破坏平衡的是后继节点原来的位置,因为后继节点拿走了,原来的位置结构改变了,这就会导致不平衡的出现。所以removeFixUp方法中传入的参数也是后继节点的子节点和父节点。
&&&&&&& 为了方便下文的叙述,我们现在约定:后继节点的子节点称为“当前节点”。
&&&&&&& 删除操作后,如果当前节点是黑色的根节点,那么不用任何操作,因为并没有破坏树的平衡性,即没有违背红-黑树的规则,这很好理解。如果当前节点是红色的,说明刚刚移走的后继节点是黑色的,那么不管后继节点的父节点是啥颜色,我们只要将当前节点涂黑就可以了,红-黑树的平衡性就可以恢复。但是如果遇到以下四种情况,我们就需要通过变色或旋转来恢复红-黑树的平衡了。
&&&&&&& 1.&当前节点是黑色的,且兄弟节点是红色的(那么父节点和兄弟节点的子节点肯定是黑色的);
&&&&&&& 2.&当前节点是黑色的,且兄弟节点是黑色的,且兄弟节点的两个子节点均为黑色的;
&&&&&&& 3.&当前节点是黑色的,且兄弟节点是黑色的,且兄弟节点的左子节点是红色,右子节点时黑色的;
&&&&&&& 4.&当前节点是黑色的,且兄弟节点是黑色的,且兄弟节点的右子节点是红色,左子节点任意颜色。
&&&&&&& 以上四种情况中,我们可以看出2,3,4其实是“当前节点是黑色的,且兄弟节点是黑色的”的三种子集,等会在程序中可以体现出来。现在我们假设当前节点是左子节点(当然也可能是右子节点,跟左子节点相反即可,我们讨论一边就可以了),分别解决上面四种情况:
&&&&&&& 对于情况1:当前节点是黑色的,且兄弟节点是红色的(那么父节点和兄弟节点的子节点肯定是黑色的)。如左下图所示:A节点表示当前节点。针对这种情况,我们要做的操作有:将父节点(B)涂红,将兄弟节点(D)涂黑,然后将当前节点(A)的父节点(B)作为支点左旋,然后当前节点的兄弟节点就变成黑色的情况了(自然就转换成情况2,3,4的公有特征了),如右下图所示:
&&&&&&& 对于情况2:当前节点是黑色的,且兄弟节点是黑色的,且兄弟节点的两个子节点均为黑色的。如左下图所示,A表示当前节点。针对这种情况,我们要做的操作有:将兄弟节点(D)涂红,将当前节点指向其父节点(B),将其父节点指向当前节点的祖父节点,继续新的算法(具体见下面的程序),不需要旋转。这样变成了右下图所示的情况:
&&&&&&& 对于情况3:当前节点是黑色的,且兄弟节点是黑色的,且兄弟节点的左子节点是红色,右子节点时黑色的。如左下图所示,A是当前节点。针对这种情况,我们要做的操作有:把当前节点的兄弟节点(D)涂红,把兄弟节点的左子节点(C)涂黑,然后以兄弟节点作为支点做右旋操作。然后兄弟节点就变成黑色的,且兄弟节点的右子节点变成红色的情况(情况4)了。如右下图:
&&&&&&&&对于情况4:当前节点是黑色的,且兄弟节点是黑色的,且兄弟节点的右子节点是红色,左子节点任意颜色。如左下图所示:A为当前节点,针对这种情况,我们要做的操作有:把兄弟节点(D)涂成父节点的颜色,再把父节点(B)涂黑,把兄弟节点的右子节点(E)涂黑,然后以当前节点的父节点为支点做左旋操作。至此,删除修复算法就结束了,最后将根节点涂黑即可。
&&&&&&& 我们可以看出,如果是从情况1开始发生的,可能情况2,3,4中的一种:如果是情况2,就不可能再出现3和4;如果是情况3,必然会导致情况4的出现;如果2和3都不是,那必然是4。当然咯,实际中可能不一定会从情况1发生,这要看具体情况了。
&&&&&&&至此,我们完成了全部的删除操作。下面我们看看removeFixUp方法中的具体实现(可以结合上面的分析图,更加利与理解):
4.完整源码
&&&&&&& 终于分析完了插入和删除操作的所有东西。另外,红-黑树还有一些其他操作,比如:查找特定&#20540;、遍历、返回最&#20540;、销毁树等操作我将放到源码中给大家呈现出来,详见下面红-黑树的完整代码。
&&&&&& 下面附上测试程序吧:
5.红-黑树的复杂度
&&&&&&&&前面也说了,当数据以升序或降序插入时,二叉搜索树的性能就会下降到最低,但是红-黑树的自我修复功能保证了即使在最坏的情况下,也能保证时间复杂度在O(logN)的级别上。标签:原文地址:http://blog.csdn.net/luo/article/details/
&&国之画&&&& &&&&chrome插件&&
版权所有 京ICP备号-2
迷上了代码!

我要回帖

更多关于 现在种什么果树最赚钱 的文章

 

随机推荐