С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 11.05.2013
Сообщений: 11

Для чего может использоваться двоичное дерево поиска?

15.07.2014, 11:51. Показов 1456. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Разбираюсь, что такое деревья поиска. (Не по чьему-то заданию, а просто самому интересно).

Ответьте, пожалуйста, на вопрос:
Для чего может использоваться двоичное дерево поиска?
По-возможности кратко.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2014, 11:51
Ответы с готовыми решениями:

Каков общий смысл данного кода? Для чего он может использоваться?
Друг принес тест) 18 прорешал) с последним в ступоре) плохо знаю VBA) поможет кто?

Двоичное дерево поиска
Описать структуру двоичного дерева поиска. Написать модуль, позволяющий добавлять элементы в дерево, удалять элементы из дерева с...

Двоичное дерево поиска
не понимаю из-за чего может этот алгоритм зацикливаться можете подсказать? вот задача...

12
65 / 65 / 16
Регистрация: 07.04.2014
Сообщений: 334
15.07.2014, 12:54
Цитата Сообщение от neMoguta Посмотреть сообщение
По-возможности кратко.
поиск информации
1
0 / 0 / 0
Регистрация: 11.05.2013
Сообщений: 11
15.07.2014, 13:08  [ТС]
Спасибо. А можно назвать несколько примеров использования этого метода, и сказать, в чём его преимущество?
0
65 / 65 / 16
Регистрация: 07.04.2014
Сообщений: 334
15.07.2014, 13:21
Цитата Сообщение от neMoguta Посмотреть сообщение
в чём его преимущество?
это ОЧЕНЬ эффективный поиск информации

Цитата Сообщение от neMoguta Посмотреть сообщение
А можно назвать несколько примеров использования этого метода
Да нет у него особых примеров использования. Используют для ускорения поиска. Работы со списками. Слышал есть извращённые способы использования деревьев для нахождения оптимального решения. В первый и последний раз имел дело со списками курсе на втором. Благополучно их забыл и не вспомню пока не прижмёт

P.S. при всей скорости двоичного способа поиска, я сомневаюсь, что вам не хватит скорости работы хеш таблицы например.
0
5 / 5 / 1
Регистрация: 15.11.2013
Сообщений: 99
15.07.2014, 14:26
пример: дано дерево ищем в нем цифру 10
PHP
1
2
3
4
5
             1
      3
5
      9
          10
корень дерева 5, дальше сравниваем 10> 5 значит движемся по нижней ветке, находим 9, 10>9 сново идем по нижней ветке, нашли 10 поиск завершен,
В результате наш поиск ускорился в 2 раза, чем если бы мы перебирали все элементы.
Т.е эелемнты дерева выстраиваются по логике больше меньше начиная от корня, большие элементы располагаются правее, меньшие левее, тем самым сокращая количество шагов для поиска значения
1
0 / 0 / 0
Регистрация: 11.05.2013
Сообщений: 11
15.07.2014, 17:47  [ТС]
Спасибо, snikes.
Что такое дерево поиска - понятно, не понятно только, почему используют хеш-таблицы вместо него.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
15.07.2014, 17:59
Цитата Сообщение от neMoguta Посмотреть сообщение
почему используют хеш-таблицы вместо него.
Потому что поиск в нормальной хэш-таблице равен O(1), а в двоичном дереве O(logn), если оно сбалансировано или O(n), если нет.
Ну и дерево гарантирует определенный порядок при обходе, в то время как хэш-таблица никаких гарантий не дает. Да они не всегда и нужны.
0
65 / 65 / 16
Регистрация: 07.04.2014
Сообщений: 334
16.07.2014, 09:33
Цитата Сообщение от kolorotur Посмотреть сообщение
Да они не всегда и нужны.
Ага. Я только для тестирования попробовал хеш таблицу, а так ни разу пока не пользовался. Объёмы не те. Коллекций хватает за глаза.

P.S. так дерево медленнее же хеш таблицы?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
16.07.2014, 13:00
Цитата Сообщение от fidgi Посмотреть сообщение
Ага.
На всякий случай:
"Не нужны" — это не о хэш-таблицах, а об определенном порядке элементов при обходе.

Цитата Сообщение от fidgi Посмотреть сообщение
а так ни разу пока не пользовался.
Очень полезная вещь, если нужно быстро проверить наличие элемента.
Например, отсеять повторы или сравнить две коллекции на совпадение элементов.

Цитата Сообщение от fidgi Посмотреть сообщение
Коллекций хватает за глаза.
Хэш-таблица — это тоже коллекция

Цитата Сообщение от fidgi Посмотреть сообщение
так дерево медленнее же хеш таблицы?
Сильно зависит от реализации, т.к. есть и хэш-таблицы, реализованные через то же дерево.
Но если следовать ТТХ обеих коллекций, то да: у хэш-таблица время поиска и добавления/удаления О(1) или стремящееся к нему, а у дерева — O(logn). А в худшем случае, если дерево не сбалансировано, то вообще O(n), то есть как у обычного массива или списка.
0
65 / 65 / 16
Регистрация: 07.04.2014
Сообщений: 334
16.07.2014, 13:41
Цитата Сообщение от kolorotur Посмотреть сообщение
не о хэш-таблицах
ок.

_________________
Цитата Сообщение от kolorotur Посмотреть сообщение
Очень полезная вещь, если нужно быстро проверить наличие элемента.
Цитата Сообщение от fidgi Посмотреть сообщение
Объёмы не те
_________________
Цитата Сообщение от kolorotur Посмотреть сообщение
Хэш-таблица — это тоже коллекция
уточню, list хватает за глаза

.....

спасибо
0
 Аватар для sysrepos
83 / 77 / 30
Регистрация: 08.08.2013
Сообщений: 461
Записей в блоге: 1
16.07.2014, 17:40
Цитата Сообщение от fidgi Посмотреть сообщение
В первый и последний раз имел дело со списками курсе на втором. Благополучно их забыл
Расскажите, а что из того, что вы проходили в институте, вам пригодилось в работе?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
16.07.2014, 18:26
Цитата Сообщение от sysrepos Посмотреть сообщение
Расскажите, а что из того, что вы проходили в институте, вам пригодилось в работе?
Вопрос, конечно, не мне адресован, но достаточно интересен, чтобы ответить.
Лично у меня (лично у меня) список того, что проходили и не пригодилось, сокаращается с увеличением стажа. То есть как только закончил, из пройденного использовалось довольно немного — программирование, в основном.
Но по ходу службы постоянно приходится сталкиваться с новыми задачами, которые так или иначе были затронуты в ВУЗе. Ну, всякие планирования, моделирование и пр.
Причем, некоторые из них уже подзабылись, потому приходится доставать с полки книжки и освежать память.

На данный момент список того, что проходили и не пригодилось, сократился до трех пунктов:
1. Сетевые технологии (всякие кодирования Хаффмана, типы витых пар, CSMA-CA/CSMA-CD и т.д.)
2. Основы юриспруденции.
3. Основы психологии.

Возможно, первый пункт в списке задержится не долго.

Так что учите всё
1
65 / 65 / 16
Регистрация: 07.04.2014
Сообщений: 334
16.07.2014, 20:34
Цитата Сообщение от sysrepos Посмотреть сообщение
Расскажите, а что из того, что вы проходили в институте, вам пригодилось в работе?
Перехвачу эстафету. Я очень молод, и мне до опыта уважаемого товарища kolorotur, как пешком до луны, поэтому скажу за программирование. Такая интересная ситуация, что несмотря на хорошее логическое мышление и технический склад ума, отвратительный преподаватель в неплохом техническом вузе убил во мне всякое желание что либо программировать на долгие годы. За всё время обучения (кроме последних пол года) я изучил смешно сказать - только css/html и js/php немного. Потом по собственному желанию, мы, четыре человека, перевелись писать диплом на гос предприятие запускающее спутники и всё завер...

В общем там я за пару месяцев увлёкся СИ и решил стать программистом. В итоге с багажом так себе знания СИ и никаким C# начал искать работу стажёром .NET. Сначала устроился писать на abape в САП. Не понравилось, ушёл работать на шарпе на гос предприятие где пока что и остаюсь. За менее чем год подтянул скилы и пишу соло довольно большой проект. Скоро, как доделаю, собираюсь валить в частную фирму.

По сабжу скажу, что С++ который был в универе мне не помог практически никак, всего по сути добился сам. Считаю что если есть желание, то можно вообще не зная ничего (одна прочитанная книга в 200 страниц за неделю до собеседований не в счёт) устроиться. Но придётся много работать за копейки. (хотя тоже как сказать копейки. У нас холдинг из 20 предприятий на пике прогресса и спешно избавляется от совковых пережитков весело попиливая бюджетные деньги, так что получаю побольше чем в маке )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.07.2014, 20:34
Помогаю со студенческими работами здесь

Двоичное дерево поиска
Даны 2 вершины дерева .Для каждой из данных вершины вывести ее уровень или информацию что такой вершины нет Подскажите как...

Двоичное дерево поиска
Дан файл с числами произвольной длины. Считать файл с диска и построить по данным файла двоичное дерево поиска. Реализовать функции...

Двоичное дерево поиска
Здравствуйте. Разбираюсь с двоичным деревом поиска, нашел в литературе код, почти разобрался как он работает, но есть некоторые...

Бинарное (двоичное) дерево поиска
В общем задание на лабораторную работу, нужно организовать просто бинарное дерево (якобы научиться работать со структурами), ах да, и...

Сбалансированное двоичное дерево поиска
ЗДРАВСТВУЙТЕ! Есть код. При компилировании выдаёт ошибку. Помогите исправить пожалуйста. avl.h #include <iostream> #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru