AVL

Edit

AVL树介绍

AVL树是最先发明的自平衡二叉查找树
AVL树得名于它的发明者G.M. Adelson-Velsky和E.M. Landis,他们在1962年的论文《An algorithm for the organization of information》中发表了它

平衡因子

在AVL树节点的平衡因子是左子树高度减去右子树高度,平衡因子在-1到1之间代表是平衡的,若超过则被认为是不平衡的

单旋

单向右旋平衡处理LL

Alt text

Alt text


单向左旋平衡处理RR

Alt text


双旋

双向旋转(先左后右)

Alt text

Alt text

先左后右

Alt text

双向旋转(先右后左)

Alt text

先右后左

Alt text

查找

查找方法与BST查找算法一致

插入

在AVL树插入节点时有可能会引起不平衡现象,但只需要调整一次即可将全树变为平衡状态,所以时间复杂度为O(1),若节点和父节点还有祖父节点呈现一子形,只需要执行一次单旋操作即可使其全树再度平衡,并且全树高度不会发生变化

代码如下

Alt text

删除

在AVL树删除一个节点时有可能会引起不平衡现象,但删除操作不像插入操作一样那么简单,当父节点不平衡时,进行一次旋转操作可以使其恢复平衡,但恢复平衡可能引发的代价是树的高度发生变化,这就有可能引起,父节点的父节点的父节点。。。等等这些节点发生不平衡现象,那么删除时就必须要追溯历代祖先,查看是否发生了失衡情况,所以删除操作最坏情况下需要O(logn)时间

代码如下

Alt text
与插入算法大同小异,可以理解为多次插入调整


3+4重构

在进行旋转操作时我们并不需要按照它所演示的那样进行旋转,或者说旋转操作是固定的有公式可循

Alt text

Alt text

例如


Alt text
利用这个公式可以得到原先所希望得到得二叉树,不管时双旋单旋还是各种情况都可以解决

代码如下:是一个比较简单得代码

Alt text

缺点

AVL树的删除操作和查找时间最坏情况下时O(logn),这个时间还是比较快的,但还是不够
以后有时间还是需要自己实现一个AVL树的

%23%23AVL%u6811%u4ECB%u7ECD%0AAVL%u6811%u662F%u6700%u5148%u53D1%u660E%u7684%u81EA%u5E73%u8861%u4E8C%u53C9%u67E5%u627E%u6811%0AAVL%u6811%u5F97%u540D%u4E8E%u5B83%u7684%u53D1%u660E%u8005G.M.%20Adelson-Velsky%u548CE.M.%20Landis%uFF0C%u4ED6%u4EEC%u57281962%u5E74%u7684%u8BBA%u6587%u300AAn%20algorithm%20for%20the%20organization%20of%20information%u300B%u4E2D%u53D1%u8868%u4E86%u5B83%0A%23%23%u5E73%u8861%u56E0%u5B50%0A%u5728AVL%u6811%u8282%u70B9%u7684%u5E73%u8861%u56E0%u5B50%u662F%u5DE6%u5B50%u6811%u9AD8%u5EA6%u51CF%u53BB%u53F3%u5B50%u6811%u9AD8%u5EA6%uFF0C%u5E73%u8861%u56E0%u5B50%u5728-1%u52301%u4E4B%u95F4%u4EE3%u8868%u662F%u5E73%u8861%u7684%uFF0C%u82E5%u8D85%u8FC7%u5219%u88AB%u8BA4%u4E3A%u662F%u4E0D%u5E73%u8861%u7684%0A%0A%23%23%u5355%u65CB%0A%23%23%23%u5355%u5411%u53F3%u65CB%u5E73%u8861%u5904%u7406LL%0A%21%5BAlt%20text%5D%28./1481272097208.png%29%0A%0A%21%5BAlt%20text%5D%28./1481272407961.png%29%0A%0A%23%23%23%u5355%u5411%u5DE6%u65CB%u5E73%u8861%u5904%u7406RR%0A%21%5BAlt%20text%5D%28./1481272116495.png%29%0A%0A%23%23%u53CC%u65CB%0A%23%23%23%u53CC%u5411%u65CB%u8F6C%uFF08%u5148%u5DE6%u540E%u53F3%uFF09%0A%21%5BAlt%20text%5D%28./1481272192950.png%29%0A%21%5BAlt%20text%5D%28./1481272425398.png%29%0A%0A%3E%u5148%u5DE6%u540E%u53F3%0A%21%5BAlt%20text%5D%28./1481272291681.png%29%0A%0A%23%23%23%u53CC%u5411%u65CB%u8F6C%uFF08%u5148%u53F3%u540E%u5DE6%uFF09%0A%21%5BAlt%20text%5D%28./1481272207631.png%29%0A%3E%u5148%u53F3%u540E%u5DE6%0A%21%5BAlt%20text%5D%28./1481272323638.png%29%0A%0A%23%23%u67E5%u627E%0A%u67E5%u627E%u65B9%u6CD5%u4E0EBST%u67E5%u627E%u7B97%u6CD5%u4E00%u81F4%0A%0A%23%23%u63D2%u5165%0A%u5728AVL%u6811%u63D2%u5165%u8282%u70B9%u65F6%u6709%u53EF%u80FD%u4F1A%u5F15%u8D77%u4E0D%u5E73%u8861%u73B0%u8C61%uFF0C%u4F46%u53EA%u9700%u8981%u8C03%u6574%u4E00%u6B21%u5373%u53EF%u5C06%u5168%u6811%u53D8%u4E3A%u5E73%u8861%u72B6%u6001%uFF0C%u6240%u4EE5%u65F6%u95F4%u590D%u6742%u5EA6%u4E3A**O%281%29**%2C%u82E5%u8282%u70B9%u548C%u7236%u8282%u70B9%u8FD8%u6709%u7956%u7236%u8282%u70B9%u5448%u73B0%u4E00%u5B50%u5F62%uFF0C%u53EA%u9700%u8981**%u6267%u884C%u4E00%u6B21%u5355%u65CB%u64CD%u4F5C**%u5373%u53EF%u4F7F%u5176%u5168%u6811%u518D%u5EA6%u5E73%u8861%uFF0C%u5E76%u4E14%u5168%u6811%u9AD8%u5EA6%u4E0D%u4F1A%u53D1%u751F%u53D8%u5316%0A%3E%u4EE3%u7801%u5982%u4E0B%0A%21%5BAlt%20text%5D%28./1481272654604.png%29%0A%0A%23%23%u5220%u9664%0A%u5728AVL%u6811%u5220%u9664%u4E00%u4E2A%u8282%u70B9%u65F6%u6709%u53EF%u80FD%u4F1A%u5F15%u8D77%u4E0D%u5E73%u8861%u73B0%u8C61%uFF0C%u4F46%u5220%u9664%u64CD%u4F5C%u4E0D%u50CF%u63D2%u5165%u64CD%u4F5C%u4E00%u6837%u90A3%u4E48%u7B80%u5355%uFF0C%u5F53%u7236%u8282%u70B9%u4E0D%u5E73%u8861%u65F6%uFF0C%u8FDB%u884C%u4E00%u6B21%u65CB%u8F6C%u64CD%u4F5C%u53EF%u4EE5%u4F7F%u5176%u6062%u590D%u5E73%u8861%uFF0C%u4F46%u6062%u590D%u5E73%u8861%u53EF%u80FD%u5F15%u53D1%u7684%u4EE3%u4EF7%u662F%u6811%u7684%u9AD8%u5EA6%u53D1%u751F%u53D8%u5316%uFF0C%u8FD9%u5C31%u6709%u53EF%u80FD%u5F15%u8D77%uFF0C%u7236%u8282%u70B9%u7684%u7236%u8282%u70B9%u7684%u7236%u8282%u70B9%u3002%u3002%u3002%u7B49%u7B49%u8FD9%u4E9B%u8282%u70B9%u53D1%u751F%u4E0D%u5E73%u8861%u73B0%u8C61%uFF0C%u90A3%u4E48%u5220%u9664%u65F6%u5C31%u5FC5%u987B%u8981%u8FFD%u6EAF%u5386%u4EE3%u7956%u5148%uFF0C%u67E5%u770B%u662F%u5426%u53D1%u751F%u4E86%u5931%u8861%u60C5%u51B5%uFF0C%u6240%u4EE5%u5220%u9664%u64CD%u4F5C%u6700%u574F%u60C5%u51B5%u4E0B%u9700%u8981**O%28logn%29**%u65F6%u95F4%0A%3E%u4EE3%u7801%u5982%u4E0B%0A%21%5BAlt%20text%5D%28./1481272704734.png%29%0A%u4E0E%u63D2%u5165%u7B97%u6CD5%u5927%u540C%u5C0F%u5F02%uFF0C%u53EF%u4EE5%u7406%u89E3%u4E3A%u591A%u6B21%u63D2%u5165%u8C03%u6574%0A%23%233+4%u91CD%u6784%0A%u5728%u8FDB%u884C%u65CB%u8F6C%u64CD%u4F5C%u65F6%u6211%u4EEC%u5E76%u4E0D%u9700%u8981%u6309%u7167%u5B83%u6240%u6F14%u793A%u7684%u90A3%u6837%u8FDB%u884C%u65CB%u8F6C%uFF0C%u6216%u8005%u8BF4%u65CB%u8F6C%u64CD%u4F5C%u662F%u56FA%u5B9A%u7684%u6709%u516C%u5F0F%u53EF%u5FAA%0A%21%5BAlt%20text%5D%28./1481272839282.png%29%0A%21%5BAlt%20text%5D%28./1481272893451.png%29%0A%3E%u4F8B%u5982%0A%21%5BAlt%20text%5D%28./1481272207631.png%29%0A%u5229%u7528%u8FD9%u4E2A%u516C%u5F0F%u53EF%u4EE5%u5F97%u5230%u539F%u5148%u6240%u5E0C%u671B%u5F97%u5230%u5F97%u4E8C%u53C9%u6811%uFF0C%u4E0D%u7BA1%u65F6%u53CC%u65CB%u5355%u65CB%u8FD8%u662F%u5404%u79CD%u60C5%u51B5%u90FD%u53EF%u4EE5%u89E3%u51B3%0A%3E%u4EE3%u7801%u5982%u4E0B%uFF1A%u662F%u4E00%u4E2A%u6BD4%u8F83%u7B80%u5355%u5F97%u4EE3%u7801%0A%21%5BAlt%20text%5D%28./1481273047988.png%29%0A%0A%23%23%u7F3A%u70B9%0AAVL%u6811%u7684%u5220%u9664%u64CD%u4F5C%u548C%u67E5%u627E%u65F6%u95F4%u6700%u574F%u60C5%u51B5%u4E0B%u65F6O%28logn%29%2C%u8FD9%u4E2A%u65F6%u95F4%u8FD8%u662F%u6BD4%u8F83%u5FEB%u7684%uFF0C%u4F46%u8FD8%u662F%u4E0D%u591F%0A%u4EE5%u540E%u6709%u65F6%u95F4%u8FD8%u662F%u9700%u8981%u81EA%u5DF1%u5B9E%u73B0%u4E00%u4E2AAVL%u6811%u7684%0A
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
 *适用客户:农民房出租、公寓出租、宿舍出租、写字楼出租、批发市场、菜市场等等。房屋租赁软件、房屋出租软件、租房软件、房管家、房屋出租承包商、酒店式公寓、厂房出租软件、物业管理软件、物业出租软件、厂房租赁软件、物业软件。   *软件特点:专业、易用、稳定。   *稳定性:本产品2005年研发销售至今,一直坚持免费升级的原理,经过多年的升级改进,稳定性达到95%以上。   *易用性:软件充分考虑到用户的电脑专业性能问题,尽量达到傻瓜化,经过多年的研发,只要会上网基本就会用,复杂的地方,尽量做到智能化,每月用户只需输入水电表刻度,则系统会自动计算每个房间应收租金水电及其他费用,并且打印收费单以做收费凭据。   *专业性:   1、具有抄表报警、欠费报警、合同到期报警、空房查看等。   2、每月输入水电表刻度,系统自动计算费用,并且打印收费单,财务收费后, 直接点收费按钮,则工作完成。   3、软件有水电异常分析,输入分析指标,超出指标系统自动显示,帮忙管理人员分析每个房间水电表是否有异常的情况。   4、总水表、总电表汇总分析,可分析每月水电的盈亏情况,根据此数据再结合水务公司及供电局的数据对比分析,可分析出水管是否破裂、是否有人偷电等情况。   5、系统可处理复杂的收费情况,包括:按日缴租、按月缴租、双月缴租、季度缴租、半年缴租、年缴租等等特殊情况。   6、系统设置有行政办公管理,包括:公告管理、安全隐患坚持、装修押金、委托人信息登记,客户异动,工作请示、领导任务下达等等企业基本的办公OA管理。   7、抄表提醒会自动提醒今天哪些房号要抄表,防止漏抄及查看合同、新人上手难等麻烦事情。   8、合同到期提醒会提前2-3个月进行报警,并且体现到期月差,方便管理人员尽快咨询租户是否续租等情况,尽量降低房屋闲置率,提示企业的盈利收入。   9、系统实现费用统计修改模块,所以入住、每月缴租、退房的修改均在一个【错误纠正】里进行,可对改模块进行权限控制,防止收银人员修改数据。   10、系统设有强大的统计功能,包括:月收费报表、日收费报表、其他费用统计、收支明细帐等等,月收费报表可以充分体现每月的应收、实收、欠费等等情况。收支明细帐相当财务流水帐,只要跟钱有关系的数据均在这里可以进行查看,方便领导层进行费用核对。   11、系统设置有管理处概念,可方便多管理处、多片区、多楼栋的用户进行各管理处的经营管理分析,比对等等。   12、系统设置有内部编码概念,方便出租房上千套以上的用户使用,输入内部编码进行房间信息的快速定位。   13、设置有“租金有效期”理念,根据租金有效期,用户可知道该房号,该客户缴纳的租金到什么时候有效,并且该租金有效期,抄表后,自动进行变化,无需人为去核对处理,完全实现智能化管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值