IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> Объясните как вычисляется "пересылка"
Vitik
сообщение 21.04.2011 23:52
Сообщение #1





Группа: Пользователи
Сообщений: 7
Пол: Мужской

Репутация: -  0  +


Всем привет!

Извиняюсь если написал не туда.

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

Буду очень признателен, за ваши ответы.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 22.04.2011 0:43
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Vitik @ 22.04.2011 0:52) *
На руках работа однокурсника, все знаю что там делается и как, но не могу попасть в заданное число пересылок в сортировке(~количество перемещений данных в память). Не могу сказать что ошибся он, т.к. я не знаю как вычисляется кол-во пересылок
Поэтому помогите пожалуйста, как это подсчитывается.
Гм.
Я полагаю, что пересылка - это одна операция с памятью. Например, простой обмен двух переменных a и b между собой с использованием буфера c - это 3 пересылки:
c:= a;
a:= b;
b:= c;

Если так менять два массива в цикле:
for i:=1 to n do begin
c:= a[i];
a[i]:= b[i];
b[i]:= c
end;
- то это уже как бы 3n пересылок..
Но это все не совсем верно на самом деле, так как хороший оптимизирующий компилятор просто разместит переменную c в регистрах, и в результате реальных обменов с памятью останется только два на один такт цикла.

Но вообще-то у этого термина могут быть различные толкования, мне кажется. Если я не прав, пусть меня кто-нить поправит..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 31.10.2024 15:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"