Встречное дерево Фенвика — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 3: Строка 3:
 
'''Встречное дерево Фенвика''' — [[Дерево Фенвика|дерево Фенвика]], в котором над каждым столбцом идет столбец такой же высоты, вычисляемый по формуле <tex>F'(i) = \sum_{j=i+1}^{i+2^{h(i)}} a[j]</tex>.
 
'''Встречное дерево Фенвика''' — [[Дерево Фенвика|дерево Фенвика]], в котором над каждым столбцом идет столбец такой же высоты, вычисляемый по формуле <tex>F'(i) = \sum_{j=i+1}^{i+2^{h(i)}} a[j]</tex>.
 
}}
 
}}
 +
 +
[[Файл:Originalbit.png|thumb|300px|Оригинальное дерево Фенвика]]
 +
[[Файл:Vstbit.png|thumb|300px|Встречное дерево Фенвика]]
  
 
Вспомним, что <tex>h(i)</tex> возвращает количество единиц в двоичной записи числа <tex>i</tex>, а каждый столбец оригинального дерево Фенвика вычисляется по формуле <tex>F(i) = \sum_{j=i-2^{h(i)}+1}^i a[j]</tex>
 
Вспомним, что <tex>h(i)</tex> возвращает количество единиц в двоичной записи числа <tex>i</tex>, а каждый столбец оригинального дерево Фенвика вычисляется по формуле <tex>F(i) = \sum_{j=i-2^{h(i)}+1}^i a[j]</tex>
 
И если оригинальное дерево выглядело подобным образом:
 
 
[[Файл:Bit.jpg|thumb|300px|По горизонтали - содержимое массива T,<br/> по вертикали - содержимое массива A]]
 
 
То встречное дерево Фенвика выглядит вот так:
 

Версия 05:44, 2 мая 2011

Определение:
Встречное дерево Фенвикадерево Фенвика, в котором над каждым столбцом идет столбец такой же высоты, вычисляемый по формуле [math]F'(i) = \sum_{j=i+1}^{i+2^{h(i)}} a[j][/math].


Оригинальное дерево Фенвика
Встречное дерево Фенвика

Вспомним, что [math]h(i)[/math] возвращает количество единиц в двоичной записи числа [math]i[/math], а каждый столбец оригинального дерево Фенвика вычисляется по формуле [math]F(i) = \sum_{j=i-2^{h(i)}+1}^i a[j][/math]