На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Даты
    Есть файл с датами, примерно:
    ExpandedWrap disabled
      <br>12.12.1943<br>21.03.1932<br>......<br>

    Как бы побыстрее отсортировать, так, что бы получился список с датами, в котором, самая первая дата - ближняя к сегоднешнему дню, ну и так далее.
    Т.е. эти даты - даты дней рождений (непугайтесь эти даты я рэндамом написал =), были бы в списке:
    ExpandedWrap disabled
      <br>ближайшая дата рождения<br>позже<br>еще позже<br>ну и так далее<br>

    Постановка вопроса нормально поставелна?
      пишешь функцию удалённости даты от сегодняшнего дня и сортируешь quicksortom ;D

      могу даже quicksort дать, а vot функцию придётся написать самому ;D
        Цитата wormball, 28.07.03, 20:23:13
        пишешь функцию удалённости даты от сегодняшнего дня и сортируешь quicksortom ;D

        могу даже quicksort дать, а vot функцию придётся написать самому ;D



        Ну каким  квиксортом это как из пушки извините по воробьям. О (п*лог(п))

        конечно радикс-сортом 0(п*константа)


          Цитата esperanto, 29.07.03, 10:23:12



          Ну каким  квиксортом это как из пушки извините по воробьям. О (п*лог(п))

          конечно радикс-сортом 0(п*константа)



          я чего-то про такую сортировку не слышал. насколько я знаю,  в общем случае,
          лучше О (п*лог(п)) не бывает.
          хотя что-то я припоминаю. так это надо выделять офигенно большой массив. эта сортировка хороша для последовательных натуральных чисел вроде бы.
          а вот такой массив {1,1e1,1e2,1e3,1,e4} потребует 1е4 элементов и сортировать им не всегда круто.
          ну, это в том случае, если я правильно понял, о какой сортировке идет речь. ;D
          и потом что такое 0(п*константа)? надо же писать 0(п). или нет?
          Сообщение отредактировано: experimenter -
            Цитата Experimenter, 29.07.03, 12:05:16

            я чего-то про такую сортировку не слышал. насколько я знаю,  в общем случае,
            лучше О (п*лог(п)) не бывает.


            Бывает если нам известна дополнительная инф-я про данные как и в данном случае

            радикс сорт не требует дополнит-й памяти и работает так


            в начале все сортируется по последней цифре потом по предпоследней и т.д
            Сообщение отредактировано: GrAnd -
              непонял????
                234
                456
                125
                279
                333
                234
                100

                po poslednej
                100
                333
                234
                234
                125
                456
                279

                po predposlednej
                100
                125
                333
                234
                234
                456
                279

                po pervoj
                100
                125
                234
                234
                279
                333
                456

                i vse vreme (n*constanta)
                  А дату преобразовать лучше всего к форме ГГГГММДД (оставив в строковом виде). И отсортировать предложенным методом по убыванию. Хотя, в твоем случае quicksort, всеж таки, лучше, т. к. будет менее быстрым при количестве дат, превышающем 100 миллионов.
                  Сообщение отредактировано: Flex_Ferrum -
                    всё равно непонял. ты ж ведь их СОРТИРУЕШЬ, даже если по последней цифре, всё равно тебе надо определить, куда надо совать то или иное число, стало быть, тебе надо посмотреть все остальные числа.
                      Я так понял, что создается еще один массив, после чего по сортируемому массиву делается 10 проходов, в каждом из которых смотрится, равна ли сортируемая цифра (последняя, предпоследняя итд) номеру прохода (с нуля), и если да, ставится в конец заполненной области массива. После 10 проходов созданный массив содержит все эл-ты исходного.
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0342 ]   [ 15 queries used ]   [ Generated: 21.05.24, 06:38 GMT ]