Russian Qt Forum
Ноябрь 24, 2024, 23:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3 4 ... 7   Вниз
  Печать  
Автор Тема: Контейнерные классы  (Прочитано 42103 раз)
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #15 : Февраль 07, 2014, 16:53 »

Цитировать
Не вижу никакого параметра "размер" подаваемого в QMap - ни в Qt 4.7 ни в Qt 5.2.
Немного запоздало пишу, но все же.

Классы:
QList, QSet, QHash имеют метод reserve(int size) для резервирования памяти.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #16 : Февраль 07, 2014, 17:40 »

Т.к. хэш - число, то поиск (читай сортировка) осуществляется быстро,
Нет там никакой сортировки. Хеш - это просто "корзины" (bins). Хеш-значение (число) делится на число имеющихся корзин, остаток от деления есть индекс той корзины в которой искомый элемент. А внутри корзины уже по-всякому (часто перебором по списку). И все это хорошо, но в какой-то момент число корзин надо увеличить (rehash) поэтому какая-то вставка может оказаться дорогой. Ну наверное в вумных книгах все это лучше расписано.

Чего-то маловато входных данных для задачки  Веселый
Или умения ее решить  Улыбающийся

Классы:
QList, QSet, QHash имеют метод reserve(int size) для резервирования памяти.
А также squeeze, который впрочем не везде работает.

[off]Ваше знание букваря (сладострастно называемого "документацией") не вызывает сомнений, но это неинтересно - и так уже много лет его жуют и жуют  Улыбающийся
Записан
OKTA
Гость
« Ответ #17 : Февраль 07, 2014, 17:53 »


Или умения ее решить  Улыбающийся

Тогда у меня аналогичная задачка:
"Водитель перевозит каждый день людей. Парами, тройками, да и вообще в N количестве. Какой автомобиль ему выбрать, чтобы было удобнее это делать?".
Записан
Bepec
Гость
« Ответ #18 : Февраль 07, 2014, 17:57 »

Угу. Ещё добавим условие - тип местности, характер поверхности, погодные условия, планета пребывания, пол и нация должны учитываться Веселый

to Igors размазать задачу может каждый. Не каждый может нормально её сформулировать. Формулировки в вашем задании нет Веселый
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #19 : Февраль 07, 2014, 18:13 »

Нет здесь задач - это традиционное раздувание щек и попытка произвести впечатление. Улыбающийся
С традиционными высокомерными рекомендациями не учиться, потому что сам нахватался вершков и  ему этого достаточно. Все как всегда. Уже даже перестаёт забавлять. Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #20 : Февраль 07, 2014, 19:35 »

Мужчины, а что это Вам так не нравится? Что предложена задачка из моей практики? И что в этом плохого? Кто же мешает показать "кол-во съеденных Вами корешков" Улыбающийся, вкупе с глубоким пониманием контейнеров?  А нет желания и/или умения - так почему Вам скромно не промолчать (в тряпочку)?  Улыбающийся

Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #21 : Февраль 07, 2014, 19:37 »

так почему Вам скромно не промолчать (в тряпочку)?  Улыбающийся
Вы этот вопрос себе задайте. Улыбающийся

Посмотрите, из всех ваших постов в этой теме, вы не ответили ни на один вопрос ТС, зато успели дать "рекомендации", описать с цифрами якобы задачу и сообщить нам в очередной раз о том, что вы противник учения.
Нет признания? Хотите его получить здесь? Только скажите, уверен все с удовольствием напишут, что вы лучший программист в мире и только вы решаете реальные задачи.
Пишите лучше мемуары, а здесь давайте будем обсуждать технические детали.
« Последнее редактирование: Февраль 07, 2014, 20:08 от Old » Записан
OKTA
Гость
« Ответ #22 : Февраль 07, 2014, 20:09 »

А кто задачку с автомобилем будет решать?  Непонимающий Смеющийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #23 : Февраль 07, 2014, 20:52 »

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

описать с цифрами якобы задачу
Какое "якобы"? Уверяю Вас, я ничего не выдумал, Вы легко можете убедиться что именно из таких элементов состоит полигонная 3D модель - а хранить ее придется 

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

А кто задачку с автомобилем будет решать?  Непонимающий Смеющийся
Спрашивайте на форуме автомобилистов, Ваша задача к программированию отношения не имеет и поэтому мне неинтересна.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #24 : Февраль 07, 2014, 21:00 »

Хз чем же я Вас задел что Вы так аж взвиваетесь? Я предложил простенькую задачку, какое в этом желание прославиться, получить признание и.т.п  Непонимающий
Причем здесь задачка? Меня удивляют ваши советы другим "не учится". Я считаю их очень не правильными.
И ваши обобщения: что из контейнеров используется, а что нет, написанное за всех. Откуда вам это знать?

А Вам (такому начитанному) никто не мешает показать обратное - спокойно, без понтов и переходов на личности.
Что показать? Написать что означает lookup?  Строит глазки Смеющийся
« Последнее редактирование: Февраль 07, 2014, 21:02 от Old » Записан
OKTA
Гость
« Ответ #25 : Февраль 07, 2014, 21:06 »

С нетерпением хочу услышать оптимальное решение вашей задачи.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #26 : Февраль 08, 2014, 10:59 »

Меня удивляют ваши советы другим "не учится".
Я такого не советовал. А вот что тонна книг (пусть даже отличных) без живого опыта почти ничего не стоит - утверждал и утверждаю. Лучше меньше читать да больше делать чем наоборот.

Я считаю их очень не правильными.
И ваши обобщения:
Так пожалуйста, высказывайте свою точку зрения, мою критикуйте, опровергайте. Это нормально, в этом и ценность форума (вместо долбления букваря хором). А Вы что? Гоните волну, какие-то "психические атаки" - прямо не хочется Вам и отвечать.

С нетерпением хочу услышать оптимальное решение вашей задачи.
А с чего Вы взяли что мне оно известно? Улыбающийся Конечно я сделал, но насколько хорошо - хз. Имею право послушать какие решения предложат другие. Может и лучше можно.
Записан
8Observer8
Гость
« Ответ #27 : Февраль 08, 2014, 12:16 »

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

Lookup - не поиск
В моём сообщении №10 я приводил картинку, где Lookup для vector'а был равен O(1). Поэтому я считаю, что Lookup это не поиск, а доступ к элементам через индекс. Для vector'а время доступа к элементам не зависит от количества элементов (O(1)), а время поиска будет прямопропорцианально количеству элементов (O(n)). Правильно?

Телефонная книга
Допустим мне нужна телефонная книга. Я задаю имя и получаю список телефонов. Что лучше выбрать QMultiMap или QMultiHash? Или разницы особой нет? Как это протестить и самому увидеть результат?
« Последнее редактирование: Февраль 08, 2014, 12:19 от 8Observer8 » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #28 : Февраль 08, 2014, 12:49 »

А вот что тонна книг (пусть даже отличных) без живого опыта почти ничего не стоит - утверждал и утверждаю.
А с этим никто не спорит.

Лучше меньше читать да больше делать чем наоборот.
Что бы хоть что-то сделать, нужно знать что делать. Так везде, даже что бы мести улицы.

Так пожалуйста, высказывайте свою точку зрения, мою критикуйте, опровергайте.
Я так и делаю: высказываю свою точку зрения.
А вы постоянно делаете утверждения от имени всей отрасли, кто, как и где использует, хотя и приблизительно не знаете, как обстоят дела на самом деле. Пишите от своего имени ("мне кажется...", "по моему мнению ...", "я использую..."), тогда всем будет ясно - что это ваше мнение.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #29 : Февраль 08, 2014, 13:03 »

Я задаю имя и получаю список телефонов. Что лучше выбрать QMultiMap или QMultiHash? Или разницы особой нет? Как это протестить и самому увидеть результат?
Так вы почитали в чем разница между Map и Hash? Улыбающийся
Если нужно только искать, то при таких объемах (небольших) разницы вы не увидите. А вот если вы захотите пробегаться по всей коллекции, то разницу вы увидите сразу. Пробуйте. Подмигивающий
Для простого замера времени выполнения можно воспользоваться void QTime::start() и int QTime::elapsed() const. Пример использования есть в ассистенте.
Записан
Страниц: 1 [2] 3 4 ... 7   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.055 секунд. Запросов: 22.