Russian Qt Forum
Ноябрь 24, 2024, 23:51
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Контейнерные классы
Страниц:
1
[
2
]
3
4
...
7
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Контейнерные классы (Прочитано 42119 раз)
Johnik
Крякер
Online
Сообщений: 339
Re: Контейнерные классы
«
Ответ #15 :
Февраль 07, 2014, 16:53 »
Цитировать
Не вижу никакого параметра "размер" подаваемого в QMap - ни в Qt 4.7 ни в Qt 5.2.
Немного запоздало пишу, но все же.
Классы:
QList, QSet, QHash имеют метод reserve(int size) для резервирования памяти.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Контейнерные классы
«
Ответ #16 :
Февраль 07, 2014, 17:40 »
Цитата: lit-uriy от Февраль 07, 2014, 14:04
Т.к. хэш - число, то поиск (читай сортировка) осуществляется быстро,
Нет там никакой сортировки. Хеш - это просто "корзины" (bins). Хеш-значение (число) делится на число имеющихся корзин, остаток от деления есть индекс той корзины в которой искомый элемент. А внутри корзины уже по-всякому (часто перебором по списку). И все это хорошо, но в какой-то момент число корзин надо увеличить (rehash) поэтому какая-то вставка может оказаться дорогой. Ну наверное в вумных книгах все это лучше расписано.
Цитата: OKTA от Февраль 07, 2014, 16:16
Чего-то маловато входных данных для задачки
Или умения ее решить
Цитата: Johnik от Февраль 07, 2014, 16:53
Классы:
QList, QSet, QHash имеют метод reserve(int size) для резервирования памяти.
А также squeeze, который впрочем не везде работает.
[off]Ваше знание букваря (сладострастно называемого "документацией") не вызывает сомнений, но это неинтересно - и так уже много лет его жуют и жуют
Записан
OKTA
Гость
Re: Контейнерные классы
«
Ответ #17 :
Февраль 07, 2014, 17:53 »
Цитата: Igors от Февраль 07, 2014, 17:40
Или умения ее решить
Тогда у меня аналогичная задачка:
"Водитель перевозит каждый день людей. Парами, тройками, да и вообще в N количестве. Какой автомобиль ему выбрать, чтобы было удобнее это делать?".
Записан
Bepec
Гость
Re: Контейнерные классы
«
Ответ #18 :
Февраль 07, 2014, 17:57 »
Угу. Ещё добавим условие - тип местности, характер поверхности, погодные условия, планета пребывания, пол и нация должны учитываться
to Igors размазать задачу может каждый. Не каждый может нормально её сформулировать. Формулировки в вашем задании нет
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Контейнерные классы
«
Ответ #19 :
Февраль 07, 2014, 18:13 »
Нет здесь задач - это традиционное раздувание щек и попытка произвести впечатление.
С традиционными высокомерными рекомендациями не учиться, потому что сам нахватался вершков и ему этого достаточно. Все как всегда. Уже даже перестаёт забавлять.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Контейнерные классы
«
Ответ #20 :
Февраль 07, 2014, 19:35 »
Мужчины, а что это Вам так не нравится? Что предложена задачка из моей практики? И что в этом плохого? Кто же мешает показать "кол-во съеденных Вами корешков"
, вкупе с глубоким пониманием контейнеров? А нет желания и/или умения - так почему Вам скромно не промолчать (в тряпочку)?
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Контейнерные классы
«
Ответ #21 :
Февраль 07, 2014, 19:37 »
Цитата: Igors от Февраль 07, 2014, 19:35
так почему Вам скромно не промолчать (в тряпочку)?
Вы этот вопрос себе задайте.
Посмотрите, из всех ваших постов в этой теме, вы не ответили ни на один вопрос ТС, зато успели дать "рекомендации", описать с цифрами якобы задачу и сообщить нам в очередной раз о том, что вы противник учения.
Нет признания? Хотите его получить здесь? Только скажите, уверен все с удовольствием напишут, что вы лучший программист в мире и только вы решаете реальные задачи.
Пишите лучше мемуары, а здесь давайте будем обсуждать технические детали.
«
Последнее редактирование: Февраль 07, 2014, 20:08 от Old
»
Записан
OKTA
Гость
Re: Контейнерные классы
«
Ответ #22 :
Февраль 07, 2014, 20:09 »
А кто задачку с автомобилем будет решать?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Контейнерные классы
«
Ответ #23 :
Февраль 07, 2014, 20:52 »
Цитата: Old от Февраль 07, 2014, 19:37
Нет признания? Хотите его получить здесь?
Да с чего Вы взяли
Хз чем же я Вас задел что Вы так аж взвиваетесь? Я предложил простенькую задачку, какое в этом желание прославиться, получить признание и.т.п
Цитата: Old от Февраль 07, 2014, 19:37
описать с цифрами якобы задачу
Какое "якобы"? Уверяю Вас, я ничего не выдумал, Вы легко можете убедиться что именно из таких элементов состоит полигонная 3D модель - а хранить ее придется
Цитата: Old от Февраль 07, 2014, 19:37
и сообщить нам в очередной раз о том, что вы противник учения.
Не противник, просто считаю практика важнее. А Вам (такому начитанному) никто не мешает показать обратное - спокойно, без понтов и переходов на личности.
Цитата: OKTA от Февраль 07, 2014, 20:09
А кто задачку с автомобилем будет решать?
Спрашивайте на форуме автомобилистов, Ваша задача к программированию отношения не имеет и поэтому мне неинтересна.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Контейнерные классы
«
Ответ #24 :
Февраль 07, 2014, 21:00 »
Цитата: Igors от Февраль 07, 2014, 20:52
Хз чем же я Вас задел что Вы так аж взвиваетесь? Я предложил простенькую задачку, какое в этом желание прославиться, получить признание и.т.п
Причем здесь задачка? Меня удивляют ваши советы другим "не учится". Я считаю их очень не правильными.
И ваши обобщения: что из контейнеров используется, а что нет, написанное за всех. Откуда вам это знать?
Цитата: Igors от Февраль 07, 2014, 20:52
А Вам (такому начитанному) никто не мешает показать обратное - спокойно, без понтов и переходов на личности.
Что показать? Написать что означает lookup?
«
Последнее редактирование: Февраль 07, 2014, 21:02 от Old
»
Записан
OKTA
Гость
Re: Контейнерные классы
«
Ответ #25 :
Февраль 07, 2014, 21:06 »
С нетерпением хочу услышать оптимальное решение вашей задачи.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Контейнерные классы
«
Ответ #26 :
Февраль 08, 2014, 10:59 »
Цитата: Old от Февраль 07, 2014, 21:00
Меня удивляют ваши советы другим "не учится".
Я такого не советовал. А вот что тонна книг (пусть даже отличных) без живого опыта почти ничего не стоит - утверждал и утверждаю. Лучше меньше читать да больше делать чем наоборот.
Цитата: Old от Февраль 07, 2014, 21:00
Я считаю их очень не правильными.
И ваши обобщения:
Так пожалуйста, высказывайте свою точку зрения, мою критикуйте, опровергайте. Это нормально, в этом и ценность форума (вместо долбления букваря хором). А Вы что? Гоните волну, какие-то "психические атаки" - прямо не хочется Вам и отвечать.
Цитата: OKTA от Февраль 07, 2014, 21:06
С нетерпением хочу услышать оптимальное решение вашей задачи.
А с чего Вы взяли что мне оно известно?
Конечно я сделал, но насколько хорошо - хз. Имею право послушать какие решения предложат другие. Может и лучше можно.
Записан
8Observer8
Гость
Re: Контейнерные классы
«
Ответ #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
Сообщений: 4350
Re: Контейнерные классы
«
Ответ #28 :
Февраль 08, 2014, 12:49 »
Цитата: Igors от Февраль 08, 2014, 10:59
А вот что тонна книг (пусть даже отличных) без живого опыта почти ничего не стоит - утверждал и утверждаю.
А с этим никто не спорит.
Цитата: Igors от Февраль 08, 2014, 10:59
Лучше меньше читать да больше делать чем наоборот.
Что бы хоть что-то сделать, нужно знать что делать. Так везде, даже что бы мести улицы.
Цитата: Igors от Февраль 08, 2014, 10:59
Так пожалуйста, высказывайте свою точку зрения, мою критикуйте, опровергайте.
Я так и делаю: высказываю
свою
точку зрения.
А вы постоянно делаете утверждения от имени всей отрасли, кто, как и где использует, хотя и приблизительно не знаете, как обстоят дела на самом деле. Пишите от своего имени ("мне кажется...", "по моему мнению ...", "я использую..."), тогда всем будет ясно - что это ваше мнение.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Контейнерные классы
«
Ответ #29 :
Февраль 08, 2014, 13:03 »
Цитата: 8Observer8 от Февраль 08, 2014, 12:16
Я задаю имя и получаю список телефонов. Что лучше выбрать QMultiMap или QMultiHash? Или разницы особой нет? Как это протестить и самому увидеть результат?
Так вы почитали в чем разница между Map и Hash?
Если нужно только искать, то при таких объемах (небольших) разницы вы не увидите. А вот если вы захотите пробегаться по всей коллекции, то разницу вы увидите сразу. Пробуйте.
Для простого замера времени выполнения можно воспользоваться void QTime::start() и int QTime::elapsed() const. Пример использования есть в ассистенте.
Записан
Страниц:
1
[
2
]
3
4
...
7
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...