线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。
使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,因此有时需要离散化让空间压缩。——百度百科
使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。而未优化的空间复杂度为2N,因此有时需要离散化让空间压缩。——百度百科
其实对于我来说,本不应该过早接触线段树这种高端的数据结构的,然而当我得知线段树其实并不是那么高端时,我第一次产生了莫名的兴奋感..嗯,毕竟听惯别人说线段树如何如何牛逼,现在终于也能自己亲手“种”一棵了。
种树貌似也挺简单的,我用的是(对我来说)最简单的链表储存法,就是建一个名为node的struct然后里面放两个指针两个int记录左右区间,当然还有sum计算和。
当然用链表来储存那是初学者的做法了..代码不放了,那不是找喷么。正在学习怎么用堆实现。
如果能学会的话今晚打算在poj找几题练练手,毕竟学习离不开实践么
Comments
(Participate in the discussion)
Comments
No comments found.
No comments found.