![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| comp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
|
|||
|
||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: нет Всего: 34 |
|
|||
|
||||
| zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
comp, как минимум, распределитель памяти должен быть стратегией - аргументом шаблона.
--------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
pass() и pass_vertex() объяви константными, так как они не изменяют полей класса...
А вообще в принципе такого рода структуры шаблонными делать надо в будущем... Добавлено @ 16:14 zabivator, распределитель памяти? В таком классе? Даже при использовании STL ты много раз менял стандартный распределитель памяти? |
|||
|
||||
| zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
JackYF, В этот кокретный класс не вникал, но для подобных классов всегда надо указывать стратегию. А менять распределитель stl'я не так уж и редко, чтобы не вспоминать о нем.
--------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
zabivator, в таком случае поздравляю... Сам ни разу ни пользовался и не видел примером применения.
Если есть достойный - ткни ссылкой... |
|||
|
||||
| zabivator |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
vs
Когда экземпляров класса несколько тысяч, быстродействие начинает отличаться раз в шесть-семь Это сообщение отредактировал(а) zabivator - 17.11.2006, 18:32 --------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
||||
|
|||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
zabivator, ясно.
Я просто boost не юзаю пока, неоткуда memory_pool брать |
|||
|
||||
| zabivator |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 7.6.2006 Где: нск Репутация: 1 Всего: 2 |
JackYF, свой написать? Модно еще из Loki дернуть =)
--------------------
#include <zabivator>int main( int, char * [] ){ while( Zabivator::жив() ) Zabivator::моск()++; return 0;} |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Обязательно! Как только руки дойдут |
|||
|
||||
| comp |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
Чем не бинарное, логики построения деревьев не противоречит. А если будем вставлять уже упорядоченные числа, то будет простой список(Вот для этого уже и существуют всевозможные авл, красно-черные и много-много всяких деревьев).
Да, мой косяк. Как-то на этом внимание не заострял, т.к. для других целей писал дерево.
Вот, собственно для этого я и засабмитил сюда код, чтобы покритиковали. Просто я не знаю, как по другому добавлять вершины. Как правильнее, точнее, добавлять, чтобы код был красивый и без изъянов.
С классами хочу поработать |
||||||||
|
|||||||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: нет Всего: 34 |
Вообще бинарное дерево предполагает равномерное распределение ветвей. А чем тогда этот дерево будет лучше того-же отсортированного list или даже set, ведь эти методы гораздо быстрее, функциональней, и эффективнее. И единственный случай, когда хоть какой-то толк будет - когда все числа будут равномерно разбросаны. Во всех остальных ситуациях не имеет практического смысла. |
|||
|
||||
| comp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
Бррр... кто-то читать не умеет... я кажеться упоминул про существование сбалансированных деревьев(соответственно, можно сделать вывод, что я достаточно отчётливо представляю, что это за структуры, какие у них свойства, какова сложность). Да, и бинарное дерево ничего не преполагает! Также упоминул про то, зачем я это написал, а также, зачем я это сюда засабмитил. Хотелось бы более конструктивной критики услышать! PS. Быть может кто-нибудь сюда засабмитит свою реализацию двоичного дерева(самого тривиального, без всевозможны балансировок). Меня, в большей степени интересует, как реализованна вставка элемента в дерево. |
|||
|
||||
| andrew_ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 26.10.2006 Репутация: нет Всего: нет |
Вот интерфейс класса и реализация функции insert
Это сообщение отредактировал(а) andrew_ - 20.11.2006, 09:05 |
|||
|
||||
| comp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
Ну, собственно, тоже самое, что и у меня...
|
|||
|
||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: нет Всего: 34 |
Я просто хотел узнать, что имеет ли эта реализация хоть какое-нибудь преимущество по стравнению со страндартными контейнерами, и имеет ли смысл использование данной конструкции? |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Преимущество по сравнению со стандартными контейнерами? Это всего лишь учебный пример... Реализация, которая имеет хоть какие-то ощутимые преимущества по сравнению с STL-контейнерами, пишется гораздо дольше и тщательней... если вообще пишется. |
|||
|
||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: нет Всего: 34 |
||||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
||||
|
||||
| albertn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: нет Всего: 34 |
Я просто к тому, что даже сбалансированное бинарное дерево очень редко когда необходимо, т.к. есть STL, а если ее нехватает, то есть STLPorts, которой хватит наверняка. А велосипед это конечно хорошо, но только в образовательных целях. |
|||
|
||||
| comp |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 15.11.2006 Репутация: нет Всего: 1 |
Господи, да что вы так помешанны на этом STL'e. Разве не можете вы от него абстрагироваться и не разводить дискуссии не по теме. Да, STL - это крутейшая библиотека, но разве самому не приятно осознавать, что ты умееш писать многие и многие алгоритмы\всякие котейнеры, которые там реализованны, с ассимптотикой, не хуже, чем в этой библиотеке. Разве не охото, то, что умееш писать, понять, как теперь писать это красиво, чтобы код был идеальным. Чтобы придраться было не к чему. А так, только и юзая его, народ скоро разучиться писать не задумываясь тот же двоичный поиск, разучиться применять его. Да и есть множество всяких задачек, где надо в любом случае писать свои деревья...
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |