|
|
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
Есть массив: int i[9]. Как наиболее быстро определить неравенство всех элементов относительно друг друга? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 10:37 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
отсортировать и проверить стоящие рядом элементы на несовпадение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 10:58 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
Все элементы должны быть различны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:06 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
берешь i-й элемент и в цикле сравниваешь с i+k-ым элементом, где i меняется от 0 до колва элементов, а k от i+1 до колва элементов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:14 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
Андрей IlВсе элементы должны быть различны. Я ж и говорю, отсортировать в любом порядке и проверить, что любые два элемента, стоящие рядом различны. Если есть совпадение - выход с сообщением о наличии как минимум двух совпадающих элементов. to дед Макарберешь i-й элемент и в цикле сравниваешь с i+k-ым элементом, где i меняется от 0 до колва элементов, а k от i+1 до колва элементов Как я понял ключевое требование - быстро. Ваш алгоритм имеет квадратичную сложность. Если не ошибаюсь записывается так O(n^2). А предложенный мной - O(n*log2(n)). На 9 элементах как в примере, Ваш будет безусловно быстрее, а на миллионе записей быстрая сортировака с последовательным перебором выиграет по скорости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:24 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
В догонку, если использовать STL, в частности vector и sort, то даже писать ничего не приедтся. весь алгоритм - 5-6 пользовательских строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:27 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
да и для обычных массивов поможет stl - алгоритм unique ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:29 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:32 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
to --null--, красиво, я про unique не вспомнил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:35 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
Pavel Kilevatyh А предложенный мной - O(n*log2(n)). Что-то я не заметил, чтобы предложения поступало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:38 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
Pavel Kilevatyh Я ж и говорю, отсортировать в любом порядке и проверить, что любые два элемента, стоящие рядом различны. Если есть совпадение - выход с сообщением о наличии как минимум двух совпадающих элементов. Так ему не соседних проверять, а все элементы, как я понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:38 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
Спасибо, проверю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:38 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
Akh Pavel Kilevatyh А предложенный мной - O(n*log2(n)). Что-то я не заметил, чтобы предложения поступало. дык не обязательно ж код писать. По моему первому посту написать не проблема. Или ошибаюсь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:41 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
дед Макар Так ему не соседних проверять, а все элементы, как я понял сначала отсортировать ))) тогда одинаковые элементы станут рядом. Все пойду трудиццо))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:42 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
дед Макар Pavel Kilevatyh Я ж и говорю, отсортировать в любом порядке и проверить, что любые два элемента, стоящие рядом различны. Если есть совпадение - выход с сообщением о наличии как минимум двух совпадающих элементов. Так ему не соседних проверять, а все элементы, как я понял Здесть, ключевое слово - сортировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:43 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
дед Макар Pavel Kilevatyh Я ж и говорю, отсортировать в любом порядке и проверить, что любые два элемента, стоящие рядом различны. Если есть совпадение - выход с сообщением о наличии как минимум двух совпадающих элементов. Так ему не соседних проверять, а все элементы, как я понял Че-то я протупил.... :) пропустил момент с сортировкой. Жара наверное дает о себе знать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:45 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
может быть самое ленивое - это слепо доверить всю работу контейнерам. Во всяком случае в perl я бы именно так и сделал (хотя по памяти это неэффективно) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 11:48 |
|
||
|
Проверка неравенства элементов массива
|
|||
|---|---|---|---|
|
#18+
Pavel Kilevatyhдык не обязательно ж код писать. По моему первому посту написать не проблема. Или ошибаюсь ? Не обязательно. Но надо будет искать примеры. По поводу моей фразы - вами не был предложен алгоритм сортировки, хотя, вы указали его сложность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2006, 12:05 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=340&tid=2030719]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 335ms |

| 0 / 0 |
