Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

Пятничные задачки для программистов.   Найти похожие ветки 

 
TUser ©   (2006-05-02 11:56) [40]

Я тоже не знаю. Есть алгоритм Укконена, который позволяет строить суффиксное дерево за линейное время. А обход дерева, вроде бы, должен занимать как раз N log N, т.к. логарифм - это средняя высота листа, а всего листьев - O(N). Только вот не уверен.

Квадратичный алгоритм :))

for i:=0 to high do
 sum := 0
 for j:=i to high do
   sum += A[j]
   if sum = WhatWeNeed then
     returm i, j


 
MBo ©   (2006-05-02 12:37) [41]

>TUser ©   (02.05.06 11:56) [40]
Можно и несколько другим квадратичным алгоритмом воспользоваться:
Построить массив частичных сумм за линейное время
s[0]=A[0]
s[i] = s[i-1]+A[i]
Затем квадратичная часть - сравнение разностей s[i]-s[j] c искомой суммой.

Отсюда осталась пара шагов модификации до NlogN...



Страницы: 1 2 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.064 c
2-1147448103
kester
2006-05-12 19:35
2006.05.28
Двумерный массив в константе


2-1147606601
Mr tray
2006-05-14 15:36
2006.05.28
dll с хуком клавы - печатается 2 символа


2-1147306113
rosl
2006-05-11 04:08
2006.05.28
enter


2-1146753639
Gelios
2006-05-04 18:40
2006.05.28
ФУНКЦИЯ ПЕРЕВОДА БУКВ РУССКОГО АЛФАВИТА В ВЕРХНИЙ РЕГИСТР


3-1144105635
djmixer
2006-04-04 03:07
2006.05.28
При интенсивной работе с таблицами Paradox, они начинают умирать