关于数据结构之线段树

这几天都一直在看关于线段树的题目还有题解,还有做题!以前也知道有线段树这个东西,但是那时没有好好的看,就看了个简单的皮毛!所以现在又拿出来好好看看!

一开始看,一直看题解,还有就是模仿,首先看一遍,初步了解一下,然后就是按着别人的题解再抄着写一遍直到通过测试,当然不是直接对着一个一个的copy上,然后就再理解,再自己写,不看别人的代码,最后出错了先调试,然后实在看不出来,就继续把别人的代码拿出来看看,理解理解!最后正确!再理解!直到理解这个题目,顺带理解线段树!我这几天就是用这样的笨方法在学线段树!也小有心得!

首先用线段树的最终目的是减少程序的时间复杂度,能不向下更新或搜索就不向下更新搜索,这也就是线段树具有高效的特点!一开始我自己写的时候,一般都不会剪枝,最终和暴力一样,没能降低时间复杂度!线段树每个节点中需要保存的是什么要根据题目来定!对于线段树每次更新操作尽量不要一直更新到叶子节点,否则就等于没有改变,程序花费时间还是很长,就没有达到目的!

线段树可以解决,像对于区间点更新和查询,区间更新和查询,还有就是像扫描线之类的等等,,,感觉对于点更新的都可以用树状数组来做,树状数组也是一个神奇的东西!关于这个就是要多练习,题目见得多了,以后再遇到才能得心应手,才有思路!线段树主要的就是每个节点需要存什么,怎样更新才能取到最优效果,怎样延迟更新查找,然后就是怎样把更新过的正确合并,最后就是查询操作得到最终结果!

都说勤能补拙,这话是真的对的!只有你足够的付出,你才能够得到你想要的结果!现在这个年纪就是想得多,做得少!拒绝这些坏习惯,从小事做起!还有就是不要眼高手低,拒绝眼高手低!不要认为看一遍会了就是会了,要亲手实践一下才是真理,才能检验自己到底是真会了还是假会了!加油!我为自己代言!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值