посоветуйте алгоритм поиска

Тема в разделе "Lotus - Программирование", создана пользователем oshmianski, 25 июн 2007.

  1. oshmianski

    oshmianski Гость

    доброго времени!

    дано:
    m = отсортированный по убыванию список дат, размерностью N (N может быть больше 10.000)
    dateFrom = начальная дата
    dateTo = конечная дата

    найти:
    множество, входящее в список m, начиная от >= dateFrom и до <= dateTo

    посоветуйте, плс, алгоритм.
    если приложите код, буду безмерно благодарен.
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Так как список отсортирован, то наиболее быстры способом поиска будет бинарный (двоичный) поиск. ВотТУТ описание алгоритма с псевдокодом
     
  3. oshmianski

    oshmianski Гость

    Для: European
    пасиб. алгоритм хорош для для нахождения полного соответствия.

    сложность заключается в том, что список может иметь "пробелы". т.е.
    m(1) = 21/06/2007
    m(2) = 23/06/2007

    а искомое dateFrom может равняться 22/06/2007.

    есть идеи?
     
  4. Hedg

    Hedg Гость

    Ипользовать разницу дат, она же в секунадах , диапазон у тебя есть, вот и вычитай, а результат сравнивай с верхней и нижней границей, если в её пределах, значит дата подходит
     
  5. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
  6. Domino6

    Domino6 Гость

    Перевести дату в число и обрабатывать

    Код (Text):
    dtnumbegin=cdbl(dt)
    обратно cdat()
     
  7. Blacky

    Blacky Гость

    Всем доброго времени суток.
    Раньше админил сервак Domino, сейчас побую написать БД для фирмы.
    Мучаюсь над вопросом отбора документов за задаваемый период, уже дня 3.

    На данный момент имеется форма с полями from и to (формат Date/Time), задаются ползователем. В ней же создана Embedded View, в которой хотелось бы видеть результат отбора документов.

    Во вьюхе отбор документов определяется по формуле:
    SELECT @If(razn<(@Date(@Today)-@Date(from));@True;razn>(@Date(@Today)-@Date(to));@True;@False)
    , где razn - есть разница между @Today и одним из полей в документе.

    Осталась одна проблема, знаний не хватает, для осуществления переноса введённых данных из полей from и to, в формулу.

    Буду очень признателен за помощь.
    Спасибо.
     
  8. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: Blacky
    Неправильный подход.
    Смотри в сторону отбора документов в (личную) папку.
     
  9. Blacky

    Blacky Гость

    <!--QuoteBegin-Medevic+4:07:2007, 16:34 -->
    <span class="vbquote">(Medevic @ 4:07:2007, 16:34 )</span><!--QuoteEBegin-->Неправильный подход.
    [snapback]71344" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    А в чём именно неправильный? небудет работать или что?

    <!--QuoteBegin-Medevic+4:07:2007, 16:34 -->
    <span class="vbquote">(Medevic @ 4:07:2007, 16:34 )</span><!--QuoteEBegin-->Смотри в сторону отбора документов в (личную) папку.
    [snapback]71344" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    А поподробнее мжно? :D
     
  10. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-Blacky+4:07:2007, 16:46 -->
    <span class="vbquote">(Blacky @ 4:07:2007, 16:46 )</span><!--QuoteEBegin-->А в чём именно неправильный? небудет работать или что?
    [snapback]71346" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Сама идея неправильная. Ты хочешь менять формулу отбора. В общем представлении. В результате у всех пользователей будет отображаться одинаковая информация. А личные представления использовать не получится. Точнее изменить формулу отбору в них.

    <!--QuoteBegin-Blacky+4:07:2007, 16:46 -->
    <span class="vbquote">(Blacky @ 4:07:2007, 16:46 )</span><!--QuoteEBegin-->А поподробнее мжно?
    [snapback]71346" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Самое простое notesDatabase.Search. Медленно, но просто. :D
    Потом notesDocumentCollection.PutAllInFolder в личную папку.
     
  11. GROMILA

    GROMILA Well-Known Member

    Регистрация:
    8 апр 2004
    Сообщения:
    297
    Симпатии:
    0
    По поводу личных папок.
    С ними ждем трахач после изменения дизайна.
    Задолбаешься самостийно удалять у пользователей.

    Лично я не вижу нормального решения :) в том виде, который нужен.
    Ны наступил на один из мозолей лотуса.

    Подобные извраты с предпросмотром лучше перепроектировать, ущемив пользовательское юзабилити.
    Например:
    - заставить ждать пока все не выпихнешь в Excel :)
    - заставить ползать по категоризированному по датам предсталвению
    - заставить ползать по сортированному представлению с возможностью поиска
     
Загрузка...
Похожие Темы - посоветуйте алгоритм поиска
  1. KhNarg
    Ответов:
    5
    Просмотров:
    889
  2. IllusionYes
    Ответов:
    0
    Просмотров:
    985
  3. megobite
    Ответов:
    3
    Просмотров:
    1.486
  4. Shandrik
    Ответов:
    0
    Просмотров:
    1.351
  5. RadoXX
    Ответов:
    2
    Просмотров:
    1.435

Поделиться этой страницей