Главная » Просмотр файлов » Искусство программирования на Си

Искусство программирования на Си (984073), страница 44

Файл №984073 Искусство программирования на Си (Искусство программирования на Си) 44 страницаИскусство программирования на Си (984073) страница 442015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 44)

Это может позволить дает полное расширение ключа. Е)апримср, лист на сберечь большой объем памяти, поскольку в обыч- символьнол~ дереве, соответствующий "АВС", всегда ном лсрсве большинсгво участков памяти распола- можно найти, следуя сначала по ветви "А", затем по ~ается на более низких уровнях — именно на тех, ветви "В", и наконец, по ветви "С". Такой подход которые вполне можно свернуть. очень экономит время, поскольку, когда программа /а Вувао аайтв потомка, котормй допвев бать пестом */ поиска выходит на какой-либо лист, отпадает пеобаваегк( 1еа( 1 0 )г ° Еще более радикальная модификация для эконо- ходимость в повторной проверке того, является ли аввегс( >1еаг ТК1К ЬКАР )Г мии пространства (которая, возможно, менее эффек- полученное совпадение истинным, — если вы оготпвна; если вам требуется ее осуществить, значит, ворили путь для получения листа, то полученный вы, вероятно, уже попробовали сделать модифика- ключ обязан быть правильным.

Одно предупрсжлецню, описанную в предыдущем абзаце) состоит в ние; если вы используете длинные ключи, такая изменении формата узла в целях использования методика может "съедать" большой объем памяти. двухуровневой таблицы. Первый уровень такой геспгп 1; таблицы представляет собой массив значений ° Путем еше более радикгшьных изменений вы можеТИЕ ВВА)х(СН ГАСТОВ переменных впз)дпед тс также расширить дерево для осуществления посйаг.

Для индексации в массив указателей исполь- иска в плохо определенных структурах Примером зустся пскоторос значение. Хитрость здесь состоит сопоставления в плохо определенной структуре мое том, что вы распрсдсляетс лишь столько входов во жст служить проверка соответствия входного набовторой массив, сколько имеется отдельных входов; ра одной из строк "АВ*", "А'В" или "'ВС", глс ' Оргааамяия данию Часть й Сравнение деревьев с двоичными древовидными структурами и хеш-таблицами хеш-таблицы.

Последние лве структуры расходу!от Разреженная матрица пал!ять пропорционально числу узлов вн>три этих структур данных. Деревья, в отличие от этого, звни- мают пространство пропорционально количеству Вильям Фишбурн ° Построение разрсжсннои матрицы ° Прохождение разреженной матрицы узлов. умноженному на количество элементов, кото- Д«рсвьа (гпе) можно исполыовать и ллЯ Решениа тех же рые лолжны быть проверены на равенство среднему типов пРоблем, какие Решают двоичныс лревовндныс значению перел тем как вы пот !иге соотгет твис значению пе ел тем, как вы получите соответствие, структурь! (!гее) и хсцз-таблиць! Пгьже показано как и на размер кажлого поддерева.

Если вы использусдеРсвьа соотносЯТСЯ с ' ихи более тРадиц он ми темного ктючейс,„инными общими п е. кани В ЭТОЙ ГЛАВЕ те много ключей с длинными обшими префиксами, структурами данных: это может вылиться в значительный объем памяти ° Что такое разреженная матрица ° Деревья выполняют поиск на дереве за время О(1), Вам лсйствитсльно необходимо изучить особснносв худшем случае — в зависимости от фиксированной тн своих данных, прежлс чем сделать вывод о том, анныс мог т быть разнеженными длины ключа.

Хсш-таблицы могут делать это в сред- полхолит ли вам структура типа дерево. ° Когда используется разреженная матрица нем за время О(1), но их время в худшем случае будет значительно большим. Структура типа двоичное !зЕЭК)МЕ дерево, которая содержит и элементов, потребует для поиска О(!оа(п)) времени. В этой главе мы рассмотрели основы работы со стр)к- турами данных типа дерево. Вначале было лвно опрс° В противоположность хеш-таблицам, деревья могут лелсние лерева, рассказано о том, как выполняется поиск В .

тзиваетья одна ит наиболсс совер- данных, которая для своего поддержания требует тшл быть быстро просмотрены по порядку хранящихся ' ' В этой главе рассмат!зиваетья Разрегяснная матрица Организация дитно 6й Часть 11 Глава 15 - — — чч — — — 4[~ ~ ° — — ~ 1 а[1ЦО] а[1Ц1] а[1Ц2] а[1ЦЗ] а[ОЦО] а[ОЦ1] а[ОЦ2] а[ОЦЗ] Увала'еннмй в 3 ран у~~ рммар элемента Размер элемента масснва Размер элемента массива умнллвнни« на «лпнчвствп масснаа эпвнвн«пв в измерении РИСУНОК 153.

Определение пс«яомс«ноя чпнвгртого зяементо во втором измерении стандартного л«оссиваа размером 2л4 ]]отли ---'. ар -. "'-,вра р ' и ЗаГОПОВОЧНЫЕ СПИСКИ матрипс хранятся только элементы с ненулевыми знаКак уже было сказано, разреженная матрипа прсдставчсниями. Как будет показано далее, с каждым измсрсляст собой совокупность связанных списков. Одна из нисм разреженной матривьз связаны заголовки и указа- частей этой совокупности определяет размерность мастсли, но объем памяти, который необходим для сива Для каждого измерения в разреженной матрипе хранения разреженной матрицы, линейно зависит от имеется одна структура заголовочного списка.

Каждый количества ячеек с ненулевыми значениями, незаеиси., л„эаГОЛОВОЧНЫй СПИСОК СОСтОИт ИЗ ЭЛЕ«зеитОВ ЗаГОЛОВОЧМлснрпвилняинеил ГПЛМагетоса ЦРМГОлгКЦМ и«Ц„,[]г[1ЦЦЫ,,КОгг ЛС Э,т,;,,.. Ор анизания данн аз Р Часть 11 точу столбцам матрицы. Поскольку все остальные стро РаЗМйрНОСТЬ ки и столбцы не содержат никаких значений, в разреженной матрице они не представлены. так, например, раз~ерность Разреженной марицы опредслаетса колипри запросе значения содерзкашсгося в узле [б11б] бу чсство загОлОвочных списков, котоРые составлазот дст получен б скак уже говорилось, считается, что не- матрицу Очень часто РазРеженные матрицы имеют занятыс узлы разреженной матрицы солержат значение постоянную Ра™еРность, но в этой главе будет Рассмазб), и при этом даже не будет выполняться просмотр Рива ься постРоение матрицы РазмеРностью >Ч. Поданных, поскольку в соответствуюшем заголовочном скольку казкдый заголовочный список является отдсльиске нет ни строки, ни столбца с такими номерами.

ным элементом, постРоение матрицы Размерностью 1 никоим образом не отрюкастся на структурах заголовоч срс г Узея 1,4 Узлы матрицы ных списков. Олнако кажлый узел дол:кен указывать на Ззаиюзс ье сзяз соответств> юшис заголовки, поэтому переменное колиОлед»юшим элементом разреженной матрицы являет честно указателей внесет некоторое интересное "иска Узиазье связи ся совокупность связанных списков, которые служат жение" в реализацию разреженной матрицы переменнои узлами матрицы.

Уьэы содержат данные, котоРые хра- размерности. Кроме того, необходимо, чтобы в ка:клоч нятся в разреженной матрице. базовая структур~ Узла измерении узлы указывали на предыдуший и послед> показана на рис. 15.5. Обратите внилзание, что в сзРук- ющий соседние узлы. И опять же, переменное количс туре на этом рисунке не показаны все полробности. ство пар указателей >слозкняет реаяизацию такой ра з Более летально структура узла булет расслютрсна в пос- реженной матрицы. с зз Уи гЗ Оргиниыгжи динки» часть и Сложность кода Количества занятых Процесс ноп матрице хранятся только активныс данные.

лопал- В этом разделе нс приводится полный перечень всех соседних клеток ннтсльный объем памяти, связанный с рсализацией случаев, в которых использование разреженной матриПо своей природе разрежснныс матрицы, как уже гоно- ра»равенной матрицы, довольно легко оценить. Каждый цы целесообразно. Здесь приведены скорее указания 0 С мерт ь рилось, являются сложными структурами данных.

Если заголовок содержит четыре указателя. Каждый узел со- и отправные точки в определении целесообразности стоящая проблема достаточно проста, то нс имеет смыс- 1 Смерть лсржзп указатели в количестве Зкразмсрность (глс раз- использования разреженной матрицы в конкретных слула усложнять се решение за счет использования разрсВыживание мс!тность — количество излгсрений в матрице). На ос- чаях. Рассмотрев некоторые указанные области примежснной матрицы.

Кроме того, если перед нами нс сто- З Выживание ипи рождение ноас этого можно вычислить требуемый лополнитсль- пения разреженной лгатрицы, можно оценить цслесообит задача экономии памяти, использование разреженной 4 Смерть ньш объем памяти: разность использовзния разреженной матрицы для матрицы также ничем нс будет обосновано. Програм- 5 Смерть каждого определенного приложения. Объем памяти= (используеиме засолении и 4 * мист должен сравнить гибкость, обеспечиваемую ис- Смерть размер указатели ер лазателн) + пользованием разреженной матрицы, со сложностью (и 7 Смерть (мспользуегмге узлы * 3 * Типы задач увеличением размера кола) ее использования 8 Смерть размерность * размер улазателя) Как Уже говоРилосгч наиболее подходашим пРиложсниСлслуст также учитывать и возможность повторно- Игра "Жизнь Канаев" в основном используется для абу- Рюсмотрилг двумерн>ю лгатрицу с!00 заголовочны- ем для реализации сто с помощью разреженной матриго использования кода. Созланис и использование биб- ми.лшчсниями в каждом измерении.

Прслположим, что цы является игра "Жизнь Конвоя". Существ>ют и друлиотски функций для работы с разреженными магри- поскольку оиа идеально подходит пад определение раз в эт и матрице хранится нс болес 250 целых чисел. Каж- гис типы задач, которые рекомендуется решать с нами — нс такая уж простая задача Не все режеииых данных. Как правило, связанные с клеточным~ автоматами задачи очень хорошо соответствуют требо- дьш ыголовок в действительности использ>вт нс более 70 использованием разреженной матрицы. В то время как программисть1 могут сопровождать, а тел! более изме- автомата~~ в~да~~ очень »апаша саответствукп тре ваииям н данным, которые должны использоваться в раз- возма»,ных значений заголовка.

Характеристики

Тип файла
DJVU-файл
Размер
12,26 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее