8月16日学习总结

昨天学习了可持久化数据结构。

首先是前面学习的数据结构都是维护“数据集的最新状态”,而可持久化数据结构能够高效地记录一个数据结构的所有历史状态。

可持久化Trie的本质是一张有向图,把每次插入字符串后得到的新节点记录在数组root[1~4]中。那么在可持久化Trie中从root[i]出发能够问到的电和字符指针就组成了又前i个字符串构成的Trie。

如果基于数据结构的内部结构在操作过程中不发生变化,就出来了一种可持久化线段树。

可持久化线段树不再是一颗完全二叉树,所以不能在按层次编号,应该为直接记录每个节点的字左右子节点编号。可持久化线段树维护了每次操作之后线段树的历史形态,其查询操作和一般线段树类似,但难以支持大部分“区间修改”,所以不是我们应用的重点。

然后,又是“区间第k小数”这道题。我天,咋都喜欢研究它,那么多算法。

首先前面就应用过整体分治算法来解决过他它,现在又要用可持久化线段树来解决它,除此之外那,还有归并树以及线段树套平衡树(选择掌握)也可以解决。

我天,这一块的树可真多,做题时我的脑子啊。。

总之,这一章大致算看完了一遍,但我的脑子里第一遍只学会了每种数据结构的基本算法,对他们就相当于刚刚认识,差运用它们还有老远。啊啊啊。

所以这个星期六合周日,我要把这一章再缕一遍,学清楚它们的区别,联系,应用包括优化之类,不一定做这么全面,反正要第二遍认真思考题型一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值