Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

программа на координаты [D2005]


Страницы:   1 2

opashka ©   (2013-12-02 11:59:00) 

раньше программировала в паскале. сейчас дали задачу на  Delphi. помогите пожалуйста - язык для знаком лишь отчасти.
Задача.
Для задания координат точки на плоскости использовать запись с 2 полями.
1) Задать координаты не более 10 точек. Найти самые удаленные от начала координат точки
2) вывести список расстояний точек от начала координат, предварительно упорядочив его по убыванию
использование функций и процедур является необходимым условием


Dennis I. Komarov   (2013-12-04 17:15:00) [1]


> http://www.guildalfa.ru/alsha/node/6

Шикарно!
:)


Jeer   (2013-12-03 20:22:00) [2]

Согласен.
Для студентов эта информация была не основной, да и здесь я привел "стандартный" вариант Shell-а от 1959 г. :)


Sha   (2013-12-03 19:45:00) [3]

Причем для малых массивов первый вариант даже чуть лучше.


Sha   (2013-12-03 19:42:00) [4]

> Jeer ©   (03.12.13 17:55) [28]

Я не о самом алгоритме, а о способе выбора приращений.
От него скорость сильно зависит.

Седжвик улучшал его дважды.
Первое улучшение (на которое дал ссылку) было самым значительным.
Но его вика почему-то забыла.
Второе еще совсем немного улучшает, не меняя O(). Но о нем все помнят.


Jeer   (2013-12-03 17:59:00) [5]

Сравнение:
http://s017.radikal.ru/i423/1312/4f/aa706f6001c9.jpg


Jeer   (2013-12-03 17:55:00) [6]

>Странно и в вике его нет почему-то, вот ссылка:

Да, вроде вполне известный алгоритм сортировки.
Дает гарантированное время, а, в случае сильно упорядоченных данных, даже лучше чем quick-sort.

Кроме Седжвика, были еще последователи, улучшавшие алгоритм тем или иным выбором дистанции.
http://sun.aei.polsl.pl/~mciura/publikacje/shellsort.pdf

Как-то, с одной из моих дипломных студенток, мы "нарисовали" тест-модуль различных видов сортировка для обоснования его выбора.
Наступило хорошее прояснение отличий.

http://s017.radikal.ru/i411/1312/a4/563377dffde9.jpg

Сравнительная таблица:
http://s020.radikal.ru/i715/1312/61/e5648201fda0.jpg


Вася   (2013-12-03 17:41:00) [7]

Не качается, а я надеялся увидеть код хуже чем мой...


Вася   (2013-12-03 17:36:00) [8]

Все, нашел


Вася   (2013-12-03 17:35:00) [9]

Дайте почитать!!!


Ega23   (2013-12-03 13:44:00) [10]

ДА! Это оно!


Sha   (2013-12-03 12:43:00) [11]

IncDay   dmi     05.01.03 20:21
При создании бухгалтерской программы я столкнулся с
необходимостью изменить значение даты (класс TDateTime) путем добавления количества дней. Но в Delphi готовой функции не оказалось. Просмотрев в Delphi7 исходный текст функции IncMonth (добавление месяцев к дате), я решил создать функцию IncDay (добавление дней к дате).
Если у кого-то возникла подобная проблема, готов поделиться "исходником".


Ega23   (2013-12-03 12:24:00) [12]


> У меня оно на стене висело.
> Всем кто приходил, включая начальство, говорили типа шедевр.


Вот и у меня также было. Сама функция была спасена, а вот обсуждение, к сожалению, кто-то выпилил.


Sha   (2013-12-03 12:20:00) [13]

> Ega23 ©   (03.12.13 12:13) [19]

Это я пропустил, жаль.

У меня оно на стене висело.
Всем кто приходил, включая начальство, говорили типа шедевр.
Кивали головой и уходили.
Пришлось снять, когда кое-кто из приходящих решил изучить код повнимательнее.


Sha   (2013-12-03 12:15:00) [14]

> Jeer ©   (02.12.13 15:21) [8]

Странно и в вике его нет почему-то, вот ссылка:
http://www.cs.princeton.edu/~rs/shell/paperF.pdf


Ega23   (2013-12-03 12:13:00) [15]


> ну так там в одном флаконе:


Нееее... Там были комментарии от автора IncDay. Типа, он в банковской сфере работает, отчёты какие-то клепает. И был неприятно удивлён: IncYear, IncMonth, etc - есть, а вот IncDay - нету. Решил восполнить пробел.
В общем, текст с побудительными мотивами доставлял не менее, чем сама IncDay.


Sha   (2013-12-03 12:01:00) [16]

> Ega23 ©   (03.12.13 10:46) [14]

ну так там в одном флаконе:
http://www.guildalfa.ru/alsha/node/6

Jeer ©   (02.12.13 15:21) [8]

Кстати, Седжвик рекомендует ряд шагов 4^(i+1) + 3*2^i + 1


Inovet   (2013-12-03 11:34:00) [17]

> [16] Ega23 ©   (03.12.13 11:25)
> Не нашёл.

Я недавно тоже только у Sha находил, но дальше и не искал. Такие шедевры должны в мировом пантеоне сакральных знаний храниться.


Ega23   (2013-12-03 11:25:00) [18]


> Неужели в сети не сохранилось.

Не нашёл.


Inovet   (2013-12-03 11:19:00) [19]

> [14] Ega23 ©   (03.12.13 10:46)

Неужели в сети не сохранилось.


Ega23   (2013-12-03 10:46:00) [20]


> Ага, тогда искал более быстрый вариант Now, и оно мне вспомнилось.


Я к сожалению не сумел сохранить описание к ней. Описание было не менее ржачное.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо