function compare():integer;
var
j:integer;
begin
j:=0;
while(s1[j+1]=s2[j+1]) do j:=j+1;
compare:=j;
end;
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Roma |
![]()
Сообщение
#1
|
Гость ![]() |
Можно ли узнать сколько первых N символов равно в двух массивах, быстрее чем такой функцией:
Код function compare():integer; var j:integer; begin j:=0; while(s1[j+1]=s2[j+1]) do j:=j+1; compare:=j; end; |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Можно... Вот такой:
function compare:integer; |
Roma |
![]()
Сообщение
#3
|
Гость ![]() |
Ээ... Я имел ввиду что-то кардинально другое.
|
Altair |
![]()
Сообщение
#4
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата быстрее чем такой функцией: нет ни слова о кардинальности изменений ;) -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
virt |
![]()
Сообщение
#5
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
дихотомией.
-------------------- |
roma |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата(virt @ 5.11.2005 22:41) дихотомией. А что это такое? |
Guest |
![]()
Сообщение
#7
|
Гость ![]() |
А, понял что это. Но как это применить к массиву.
|
Altair |
![]()
Сообщение
#8
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
ИМХО дихотомия не уместна.
И приведенный алгоритм наиболее быстр. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
To: virt
А потом сравним быстродействие на нескольких специально подготовленных массивах, Ок? |
virt |
![]()
Сообщение
#10
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
если в массивах совпадений больше чем log2n то дихотомия будет быстрее ,иначе меделннее.
-------------------- |
Altair |
![]()
Сообщение
#11
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Все братцы, или коды с замером времени выполнения, или я тему закрываю как флеймовую
![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Roma |
![]()
Сообщение
#12
|
Гость ![]() |
А может кто-нибудь написать как сравнивать массивы дихотомией?
|
virt |
![]()
Сообщение
#13
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
не получится дихотомией ,я неверно понял условие.
-------------------- |
Roma |
![]()
Сообщение
#14
|
Гость ![]() |
Жаль...
|
![]() ![]() |
![]() |
Текстовая версия | 1.09.2025 22:35 |