1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

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

  1. oshmianski

    oshmianski Гость

    Репутация:
    0
    доброго времени!

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

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

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

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

    oshmianski Гость

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

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

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

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

    Hedg Гость

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

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

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

    Domino6 Гость

    Репутация:
    0
    Перевести дату в число и обрабатывать

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

    Blacky Гость

    Репутация:
    0
    Всем доброго времени суток.
    Раньше админил сервак 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

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

    Blacky Гость

    Репутация:
    0
    <!--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

    Репутация:
    0
    Регистрация:
    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

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

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

    Подобные извраты с предпросмотром лучше перепроектировать, ущемив пользовательское юзабилити.
    Например:
    - заставить ждать пока все не выпихнешь в Excel :)
    - заставить ползать по категоризированному по датам предсталвению
    - заставить ползать по сортированному представлению с возможностью поиска
     
Загрузка...

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