Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Вниз

алгоритм поиска элемента в массиве   Найти похожие ветки 

 
Piero   (2005-11-30 12:55) [0]

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


 
Глупые Вопросы ©   (2005-11-30 14:08) [1]

Все алгоритмы поиска, насколько я понимаю, делаются в отсортированном массиве. В принципе можешь сделать и сортировку деревом, здесь тебе поможет, например, книга Вирта "Алгоритмы + структуры данных=программы".
Но это большой гемор. Проще в уже отсортированном массиве использовать дихотомический поиск (массив делится пополам, смотриться в какой из половин массива находится требуемое значение и так далее поеа не найдём).
Вообще, наверное есть уже готовые структуры, которые всё вышеописанное делают, как например STL в Visual C++


 
MBo ©   (2005-11-30 14:08) [2]

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

Общий случай - массив отсортировать, и использовать бинарный поиск.


 
Piero   (2005-11-30 14:26) [3]

Массив отсортирован, а вот насчет бинарного поиска это верно, если есть готовый напишите


 
Piero   (2005-11-30 14:30) [4]

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


 
Anatoly Podgoretsky ©   (2005-11-30 14:32) [5]

Piero   (30.11.05 12:55)  я так помню, что алгоритм дерева, дает наилучшие результаты.

Неправильно понимаешь, дерево может быть вырожденым, тогда время поиска равно N
Двоичный поиск в дает время Log N


 
Piero   (2005-11-30 14:36) [6]

ладно, не надо, ничего писать я уже придумал



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.015 c
3-1130535212
Германн
2005-10-29 01:33
2005.12.18
Unavalable resource


6-1125857565
kivadim
2005-09-04 22:12
2005.12.18
Отправка данных от ServerSocket к множеству ClientSocket


2-1133604782
ALex2
2005-12-03 13:13
2005.12.18
Приложение


8-1114806809
Profi
2005-04-30 00:33
2005.12.18
Изменение размера TImage


14-1133209074
MRAk
2005-11-28 23:17
2005.12.18
Жордан гаус





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский