在一维数组中以完全二叉树方式存储线段树的空间分析

我们大家存储线段树的方式无非两种:

  1. 二叉链表
  2. 一维数组完全二叉树

二叉链表优点是节省空间,缺点是编程复杂度大,执行效率较低,空间复杂度为2N

在一维数组以完全二叉树方式存储线段树的编程复杂度小,执行效率较高,但浪费空间
长期以来,我和我校的OIer一直不知以一维方式存储线段树到底需要开多大的数组.今天正好有些闲暇的时间,写了个小程序,分析了下一维线段树在一维方式存储下到底需要占用多少空间.经本文所述方式计算约为4N

Continue reading “在一维数组中以完全二叉树方式存储线段树的空间分析”