|
0 / 0 / 0
Регистрация: 17.10.2009
Сообщений: 25
|
|
Создать хеш таблицу17.10.2009, 13:00. Показов 17923. Ответов 26
Метки нет (Все метки)
Нужно создать хеш-таблицу вида:Страна=стоймость,Страна=стоймость.Д ля пользователя предкмотреть выбор нескольких стран для поехдки с указание общей стоимости путешествия.
Приложение консольное, с хеш таблицами вообще не знаком, почитал в книжке ничего не понял...Плиз хелп
0
|
|
| 17.10.2009, 13:00 | |
|
Ответы с готовыми решениями:
26
Добавление элементов в хеш-таблицу
|
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
|
| 17.10.2009, 13:11 | |
|
гооглить Hashtable, IDictionary<>
0
|
|
|
0 / 0 / 0
Регистрация: 17.10.2009
Сообщений: 25
|
|
| 17.10.2009, 23:01 [ТС] | |
|
погуглил ничего не понял=(((
0
|
|
|
46 / 46 / 3
Регистрация: 18.10.2009
Сообщений: 119
|
||||||
| 19.10.2009, 00:48 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 3
|
|
| 22.11.2009, 11:56 | |
|
Памогите плиз!" Задача вот в чем : телефонный справочник (по фамилии и/или имени и/или отчеству найти номер телефона). Реализовать с помощью Хэш-таблиц. Пролема в том что если вводиш Однофамильцев (например Иванов Сергей Васильвечи, Иванов Петр Васильевич) выкидывает с ошибкой мол имя уже использовано.... Есть в стандартной Hashtable какая нить примочка для записи 2 объектов с одинаковым именем??????Заранее спс
0
|
|
|
46 / 46 / 3
Регистрация: 18.10.2009
Сообщений: 119
|
||||||
| 22.11.2009, 14:44 | ||||||
|
Вы можете в хэш таблицу класть массив (или List) из элементов.
1
|
||||||
|
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 3
|
|
| 22.11.2009, 15:59 | |
|
а как тогда искать в List?
0
|
|
|
46 / 46 / 3
Регистрация: 18.10.2009
Сообщений: 119
|
|
| 22.11.2009, 16:10 | |
|
По какому признаку?
1
|
|
|
0 / 0 / 0
Регистрация: 22.11.2009
Сообщений: 3
|
|
| 22.11.2009, 16:52 | |
|
например записали полей: Иванов Миахила Евгеньич,Петров Василий Иванович,Кондатов Петр Ефрмыч,Иванов Петр Ваильич,Иванов Александор Григорьевич) вВот кароч пишем в фамилии Иванов и мне должно выводить : Михаил Евгеньевич-телефон, Петр Васильевич -телефон, Александр Григорьевич-телефон. Вотьтак , по пронципу списка я задачу решил но требуют хэш0таблицей(((
0
|
|
|
46 / 46 / 3
Регистрация: 18.10.2009
Сообщений: 119
|
||||||
| 22.11.2009, 19:03 | ||||||
0
|
||||||
|
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
|
|||
| 22.11.2009, 23:36 | |||
|
А вообще, если в HashTable можно тоже HashTable хранить уже по именам, а там еще один по отчествам. Я бы даже сказал храним как вам нужный объект до тех пор как он один, больше одного - храним все в HashTable. Не знаю удалось ли мне объяснить мысль...
0
|
|||
|
46 / 46 / 3
Регистрация: 18.10.2009
Сообщений: 119
|
||
| 22.11.2009, 23:58 | ||
![]() Простой пример: дано отчество. Как ты найдёшь запись?
0
|
||
|
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
|
|||||||
| 23.11.2009, 00:16 | |||||||
)Вот то что я имею ввиду в качестве пояснения...
А вообще-то говоря не понятно зачем было затевать эти HashTables. Создай DataTable с 4 полями фамилия-имя-отчество-телефон и заполняй/ищи - все что нужно там есть. Именно, что базы данных придумывать не надо, их надо использовать
0
|
|||||||
|
46 / 46 / 3
Регистрация: 18.10.2009
Сообщений: 119
|
|
| 23.11.2009, 00:52 | |
|
Дык как ты по отчеству найдёшь телефон? Хэштэйбл видимо задание преподавателя. ДатаТэйбл очень медленная хрень, я не помню есть ли там индексы.
Твой метод это кастомный BTree. Ты взял строку Ф И О и строишь индекс по Ф ФИ ФИО. Соответственно поиск по О, И, ИО у тебя работать не будет.
0
|
|
|
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
|
||
| 23.11.2009, 01:24 | ||
|
Насчет медленности DataTable - зависит от кол-ва записей, но я перечитав понял, что Hashtable - это требование препода. Кстати если в твоем решении использовать Hashtable как у меня, то будет быстрее по любому
0
|
||
|
46 / 46 / 3
Регистрация: 18.10.2009
Сообщений: 119
|
|
| 23.11.2009, 01:58 | |
|
Почему?
Быстрее будет использовать три Hashtable. Одну по фамилии одну по имени одну по отчеству.
0
|
|
|
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
|
||
| 23.11.2009, 02:17 | ||
|
думаю что 3-х уровневое дерево из Hashtables должно быть быстрее чем просто 3 Hashtables и List. ведь List как не крути - последовательный доступ...
0
|
||
|
46 / 46 / 3
Регистрация: 18.10.2009
Сообщений: 119
|
||||||||||||||||||
| 23.11.2009, 02:31 | ||||||||||||||||||
![]() Боюсь, что сделаю для тебя открытие но так будет быстрее :
0
|
||||||||||||||||||
|
283 / 262 / 32
Регистрация: 11.11.2009
Сообщений: 605
|
|
| 23.11.2009, 02:36 | |
|
Goldywhite, я говорил это по поводу написания "своей" базы.
Да, не спорю, что для каждой конкретной задачи можно написать собственную, уникальную СУБД, которая будет быстрее чем MS SQL Server, Oracle, MS Access и другие сервера и локальные базы данных. Но на деле вы потратите хренову тучу времени и усилий по написанию, тестированию и поддержке того, что сделано для вас профессионалами, которые предусмотрели даже то, с чем вы еще не столкнулись, с гораздо более высокой надежностью и отказоустойчивостью. А если в результате написания своей базы вы и добьетесь небольшого улучшения скорости по сравнению с известными БД, то поверьте это временно, и с лихвой будет потеряно в других местах позже - либо в скорости, либо по времени разработки. Это я про велосипед. В общем я за то, чтоб не изобретать велосипед, а его использовать. Пусть изобретают его те, кто соревнуется в выпуске этих велосипедов. Я - любитель логики и красоты решения, писать базу, которая на милионе записей будет аж на целых 7% быстрее SQL Servera - мне не будет интересно ))))) Но это все лирика. А так... каждый решает для себя как он это хочет делать.
0
|
|
|
46 / 46 / 3
Регистрация: 18.10.2009
Сообщений: 119
|
|
| 23.11.2009, 03:24 | |
|
60тыс операций поиска в секунду при выборке из 10млн записей. На 64-битной оси требует 6Гб памяти. Поддерживаются любые, как стандартные, так и комплексные типы данных. Поддержка SQL запросов, Представлений. Бинарная сериализация любых структур (быстрее чем BinaryFormatter в 4 раза, и требует только необходимое для самих данных место)... Написано за месяц. 431кб кода. Параллельно пришлось написать универсальный парсер синтаксиса/компилятор/интерпретатор (сейчас поддерживаются SQL и JavaScript). Из мелочей - поддержка транспортного протокола MySQL. Работает под Mono и .NET. Это просто одна из частных задач которую надо было решить
Может я и не выбираю простых путей, но покупать то, что работает не достаточно быстро, не привык ![]() Я протестировал с десяток вариантов индексирования как на скорость так и на занимаемый объем памяти. Знаю каждую MSIL инструкцию в реализации классов Hashtable, SortedList и SortedDictionary как в исполнении Microsoft, так и в исполнении Novell Написал сам пару реализаций возможных индексов.Для решения простых задач всё это не требуется. Для решения критически важных задач приходится разбираться в сути вещей, может и не придётся использовать написанную базу, но за месяц её написания я получил очень много опыта, и это несомненно важно для меня .Добавлено через 3 минуты В принципе на форуме зарегистрировался с одной целью - получать опыт. Но пока получается только делиться Тут как-то не хватает споров и дискуссий. Большинство тем: задали задачу, помогите решить
0
|
|
| 23.11.2009, 03:24 | |
|
Помогаю со студенческими работами здесь
20
Последовательный ввод в консоль ключа и значения и запись в хеш-таблицу Создать динамическую структуру, которая представляет собой хеш-таблицу Создать хеш-таблицу из случайных целых чисел и найти в ней номер стека, содержащего максимальное значение ключа Создать хеш-таблицу со случайными целыми ключами и удалить из него записи с чётными ключами Организовать хеш-таблицу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|