这几天,看了一下线段树的题,其实,感觉在某些方面树状数组比线段树好用,代码少,这可能只是在简单的线段树问题上,刚做了一个线段树求最值得问题,这个问题还没涉及到线段树的核心用法,区间更新,在这里只是用到了单点更新和区间求最大值。而且学习了线段树,感觉这个知识点和老师以前讲的二叉排序树有很多相似的地方,都是从左到右,是有顺序的,不过,二叉排序树排的是点,这里的一个点代表了一段数,难道,线段树就是这么来的,哈哈,我感觉应该不会这么简单的。一般在这个单点更新这里,建树,更新,查询的步骤都很相似。
都是先是看看这个点是不是树的叶子,是的话就进行赋值或者查询操作,不是就查看它的左右子孩子,最后递归回来的时候还要更新一遍该节点的值。看来最简单的线段树思路是比较简单的,只是线段树确实容易写错,尤其里面有很短递归,经常因为条件判断写的不好,就进入死循环。这个写起来还真要慢慢写。
学习时间是那么的宝贵,自己的毅力真是不够,还需努力,一定要做到不为任何人动摇。