памагите пажалуста =) http://board.sysbin.com/viewtopic.php?t=201 И павазможности ответьте там... былоб здорово, спасибо
Эмулятор делаем, или мэнеджер памяти? =) Поскольку куски большие (4кб) и больше миллиона их вряди будет (4gb), то я бы использовал хэш-таблицу. Ключем к поиску будет соответственно адрес_страницы shr 12. Мгновенный поиск по индексу. Минусы - надо 4мб памяти на массив. Ну а если страниц может быть больше и их не удается сгруппировать в несколько подряд идущих списков, то я бы глядел в сторону бинарных деревьев.
ну не савсем менеджер памяти, он вроде как есть - заканчивается он аллоком страниц и их маппингом =) А так сказать универсальный модуль для хранение структур ядра в виде списков, можно назвать динам. массивом =) Вощем сам лист (модуль LIST - как я его назвал) па себе очень низкого уровня, в канечном это будет наверно AVL деревья. Но в некоторых местах заюзаю в чистом виде как массивы.. лано че то панесло, это не суть %) Стоп, в одной странице может быть несколько элементов. Если элемент каждый занимает около 8 байт, то в одной странице поместиться около 330 элементов.. то теоретичсеки на IA32 может быть 349175808 элементов Или я тебя не понял или ты меня, но про куски 4кб больше миллиона не савсем дагнал =) Про то что страницы неудаётся сгруппировать в линейно идущих друг за другом - это точно, сори за ламошность - а бинарные деревья это как? =) Кстати тут нету народа которого можно падтянуть ось писать? ^)
AVL есть бинарные деревья? =) Пахоже борланд сваими кампанентами поместил меня в свой визуальный мир и закрыл мне глаза на самые важные вещи, которые лежали в основе иллюзий, казавшимися явными фактами, и ... лоптоп, ресет Лано я пачитаю про бинарные дереФья, но на сколько плохо делать так как предложил я?
нет это не так оказ.. слушай я не савсем дагнал некоторую вещь. Переход по дереву происходит так, что каждый элемент ссылается на элемент с большим индексом, но не больше чем у соседней ветки, как то так вроде... А как выбрать разветвление в самом начале корня дерева, мы ведь незнаем скоко элементов будет.. т.е. оно дальше может очень не равномера ветвиться что весь кайф теряется.. или как?
Если это бинарное дерево, то разветвлений всегда два. А если оно будет сбалансированным, то ветвление будет равномерным (но балансом будешь заниматься не ты, а само дерево =)
я не панимаю...смотри, каждый элемент в дереве ссылается на элементы больше его? или меньше? тогда ваще непоянтно... больше? тогда не понятно с какого индекса будут входить элементы во вторую ветку. а? перескажи как ты сам панимаешь бинарное дерево, т.е. его организацию
Под понятие "бинарное дерево" попадают все деревья, узлы которых имеют всегда по 2 разветвления. А значит и красно-черные, и AVL деревья, и много других являются бинарными. Строго говоря, AVL обозначает способ балансировки бинарного дерева.
TheRawGod, шикарно =) а объяснить про то как плетется дерево? Если оно ссылается на элементы определенного диапазона относительно себя то непонятно как оно плетётся. Набей ответ к посту от Дата: Фев 15, 2005 13:59:07, плиз
По АВЛ деревьям море информации в сети. И о том, как они плетутся и оценки всякие, короче все что хочешь. Мне в свое время очень понравился java-applet, демонстрирующий принцип работы с АВЛ деревьями: Родная локация Зеркало 1 Зеркало 2 Там же можно найти и ответ на пост от Дата: Фев 15, 2005 13:59:07.