поиск в буфере последовательности
От: Tom Россия http://www.RSDN.ru
Дата: 11.09.06 13:39
Оценка:
Странно, но не нахожу в CRT функции для сабж. Есть только memchr.

Может кто то ткнёт носов в CRT или эфективную реализацию сабж...
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Народная мудрось
всем все никому ничего(с).
Re: поиск в буфере последовательности
От: Константин Л. Франция  
Дата: 11.09.06 14:31
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>Странно, но не нахожу в CRT функции для сабж. Есть только memchr.


Tom>Может кто то ткнёт носов в CRT или эфективную реализацию сабж...


если в строке, то _tcsstr (case sensitive)
Re: поиск в буфере последовательности
От: Кодт Россия  
Дата: 11.09.06 14:46
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>Странно, но не нахожу в CRT функции для сабж. Есть только memchr.

Tom>Может кто то ткнёт носов в CRT или эфективную реализацию сабж...

1) std::search
void* memfind(void const* text, size_t textsize, void const* pattern, size_t patternsize)
{
    char const* t = (char const*)text;
    char const* p = (char const*)pattern;
    char const* f = std::search(t, t+textsize, p, p+patternsize);
    return
        f != t+textsize ? f
        : NULL
        ;
}

Квадратичное время.

2) Реализовать самому алгоритмы КМП или БМ. Будет линейное время.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re[2]: поиск в буфере последовательности
От: Константин Л. Франция  
Дата: 11.09.06 14:55
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Tom, Вы писали:


Tom>>Странно, но не нахожу в CRT функции для сабж. Есть только memchr.

Tom>>Может кто то ткнёт носов в CRT или эфективную реализацию сабж...

К>1) std::search

К>
К>void* memfind(void const* text, size_t textsize, void const* pattern, size_t patternsize)
К>{
К>    char const* t = (char const*)text;
К>    char const* p = (char const*)pattern;
К>    char const* f = std::search(t, t+textsize, p, p+patternsize);
К>    return
К>        f != t+textsize ? f
К>        : NULL
К>        ;
К>}
К>

К>Квадратичное время.

К>2) Реализовать самому алгоритмы КМП или БМ. Будет линейное время.


лучше БМ, он быстрее и всегда находит
Re[3]: поиск в буфере последовательности
От: Кодт Россия  
Дата: 11.09.06 16:19
Оценка:
Здравствуйте, Константин Л., Вы писали:

К>>2) Реализовать самому алгоритмы КМП или БМ. Будет линейное время.


КЛ>лучше БМ, он быстрее и всегда находит


А что, КМП может не найти?!
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re[4]: поиск в буфере последовательности
От: Константин Л. Франция  
Дата: 11.09.06 16:28
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Константин Л., Вы писали:


К>>>2) Реализовать самому алгоритмы КМП или БМ. Будет линейное время.


КЛ>>лучше БМ, он быстрее и всегда находит


К>А что, КМП может не найти?!


насколько я помню суть алгоритма (было это года 4 назад), возможны пропуски
Re[5]: поиск в буфере последовательности
От: Кодт Россия  
Дата: 11.09.06 17:21
Оценка:
Здравствуйте, Константин Л., Вы писали:

К>>А что, КМП может не найти?!

КЛ>насколько я помню суть алгоритма (было это года 4 назад), возможны пропуски

Странно. Может быть, какая-нибудь наивная реализация с косяками?
Перечитаю дома книжку по строкам.



Кстати, вот списочек http://algolist.manual.ru/search/esearch/index.php
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re[6]: поиск в буфере последовательности
От: Tom Россия http://www.RSDN.ru
Дата: 11.09.06 21:31
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Константин Л., Вы писали:


К>>>А что, КМП может не найти?!

КЛ>>насколько я помню суть алгоритма (было это года 4 назад), возможны пропуски

К>Странно. Может быть, какая-нибудь наивная реализация с косяками?

К>Перечитаю дома книжку по строкам.

К>

К>Кстати, вот списочек http://algolist.manual.ru/search/esearch/index.php

Что за книга?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Народная мудрось
всем все никому ничего(с).
Re[7]: поиск в буфере последовательности
От: Кодт Россия  
Дата: 12.09.06 07:22
Оценка: 4 (1)
Здравствуйте, Tom, Вы писали:

Tom>Что за книга?


Дэн Гасфилд. http://www.ozon.ru/context/detail/id/1393109/
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.