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

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

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

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

Если размер целых чисел игра "Жизнь Конная" представляет собой спсцифичсснять код, оазработанныи для разреженных матриц. Это режсииой матрице. сасгш ~яст 4 байта и длина указателей составляет столько кую задач> в области клеточных автоматов, в настоящем делает код очень сложным для понимания и модифи- же, цчда требуемый дополнительный объем памяти со- разлсле буд>т рассмотрены некоторые лругис, более Оряанимяция дацньо ! Часть () Ра лреяеяцяая матрица Глава 15 Направленные графы могут быть представлены в области лишь очень немногие ячейки булут содержать Целесообразные операции Метод Гаусса — это ллетод решения системы )л( ли- виде дв>мерной разреженнои матрицы (одно измерение значения.

В общем случае ланныс будут группировазь- нейных алгебраических уравнений с )Ч неизвестными. для отправной точки связи, а второе — для ес конечной ся вокруг основных районов стока воды в озеро или в Кроме структуо данных, хаоактерных лля опоелслснно( ' ° УктУР ' о " ° В этой главе не будет рассматриваться исключение ме- точки), в кюкдом измерении которой содержатся назва- реку.

го твпа залачи, существуют операции, которые сами по У У Р Р да Гау ния городов. Другими словами, строки б>дуг отправной Эффект сгруппироаанности данных чрезвычайно ссбс могут оправдать использование разреженной мат- Поскольку одним из многочисленных приложений точкой пути, а столбцы — конечной его точкои. Вес пути важен лля такого типа картографирования. Кроме того, овцы.

Очевидно, что функции для работы со стандарт- Р * " Р Р разреженной матрицы является решение систем уравне- (или расстояние между городами) будет предсгзалсн зна- очень важно иметь возможность просмотреть обласп, ныон массивами, которые характерны и для разрсжсн- Р Р Р Р Р ний, важно иметь возможность эффективно хранить и чением, храняшимся в узле разреженной матрицы. волосбора и определить основные источники воды, что нои матрицы, являются целесообразными операциями.

выполнять операции над диагональными и мономиазьМаршруты между городами являются направленны- упростит охрану водной среды или позволит сяедить за В настоящем разделе рассмотрены и другие цслесооб- Р т)' РУ ' ными мззрггцами. ра.шые операции. мн за счет расположения городов в разных измерениях состоянием водосбора. Используя разреженную струк- (строка, столбец).

Каждый город считается упорядочен- т>ру, ллохгно вычислить плотность отдельнь~х групп и ной парой, вследствие чего обрашение к маршруту (Го- определить объемы волы на территории большой пло- Основные операции нал матрицами включают сложе- род 4, Город 2) не обязательно дает то же значсш1е, что шали, не выполняя вычислений с учасэсм ячеек, в ко- Облод графа начиная с извес~ной точки и поиск извесние, вычитание, умножение, обрашенис и прсобразова- (Город 2, Город 4). В нашем примере маршрут (Город 4. >орых сток воды ото>тсзв»ет ние к ступенчатой форме (которос выполняется с помо- Горол 2) равен )4, а вызов (Город 2, Город 4) вообше даст ошибку (нет такого маршрута). Поскольку в разреженной матрице довольлю легко Графы, которые содержат опрелслснный тип многосвязкоторыс используются лля работы с графами, и, кроме ря на сложность реализации разреженной матрицы.

Все увеличить размер каждого измерения (лобавнть или ных узлов, также удобно прслставлять в виде разрсжснтого, в заголовке разреженной матрицы хранится ин- Р Р ' Р Р указанные операции рассмотрены в главе!К убрать города) и матрица нс содержи~ ланных о ком- ных лштриц. Если люжно считать, что граф имеет по- форчация о начальной и конечной точках. В случае Помимо указанных станлартных операций, выполнаправленного лРафа выполнить обход очень пР(атом, Оргини тцнн ааннег $Щ Часть Н Разренгеннан татр ца ЯЯЦЯ Глава 15 лителя матрицы, относится к разряду сложных.

В дсй- Если по какой-либо причине необходимо нанти "ну- являстся более сложной, а упростить ее можно без осо- Номера ошибок и их описания приведены в файле ствительности вычисление определителя включает пе- лепыс" значения, т.е. значения О, то для выполнения был усилий. Так что пристегните ремни, мы начинаем! арагае.й, который находится на %еЬ-сайте издательства рсмножение значений, связанных по диагонали (в двух такой операции разреженная матрица оказывается нс Поскольку, как правило, выделение памяти проис- "ДиаСофт". измерениях). В разреженной матрице нет связей по самой лучшей структурой представления ленных. Это ходит динамически, необходимо иметь функции, кото- Указатели стека будут рассмотрены в последующих диагонали, поэтому определение значений, находящих- справедливо по целому ряду причин, из которых мы рыс бы могли высвобождать выделенную ранее память разделах.

ся на диагонали, достаточно сложно н требует много рассмотрим лишь несколько: перед очередным выделением памяти пол указатели на разреженную мазрицу. Поэтому в данном разделе будет ПОСТРОЕНИЮ ЗВГОЛОВОЧНЫХ СПИСКОВ ° Если данные разрежены, результат поиска "нулеиагональные ма ицы соде жат значения только на рассмотрен вопрос создания и удаления компонентов вых" значений будет давать большее значение, чел1 В разреженной матрице заголовочный список исполь- свое иагонали. чем же азница по с авнснию с про- разоеженной матоиша.

размер самой разреженной матрицы, по которой про- зуется для задания компонентов измерения. Для каж- сто разреженной матрицей? Диагональная матрица со- изводи ся поиск! СтРУктУРа ланных длЯ саман РазРеженнои матРицы дого измерения имеется заголовочный список, и каж- дсржит только одно ненулевое значение в каждой паре п оста и не з еб ет объяснений: Р 7 у дый такой список может иметь любое требуемое ° Поиск "нулевых- значений означает, что необходистрока/столбец.

Это позволяет легко распознать диагоеурегзея пегасе арагее ааггв» ( количество компонентов. Каждый компонент заголовоч- нальную матрицу, даже несмотря на то, что значения мо будет интерполнровать позиции внутри разревр ввв вьвмвмг ьвдг псас«; с ложены по диагонали. Но это не относится к вы- женной матрицы, котореле находятся между сушегпс еггог по, В стандартных массивах элементы являются целы- числению определителя матрицы, когда диагональные ствуюшими позициями. Это довольно сложный и .еЗзаепагопв, утомительный процесс программирования, в кото- ми числами от О до величины "длина измерения — П. элементы умножаются в определенном порядке. Так, например, трехмерный стандартный массив с чеРом можно наделать много ошибок.

Все эти операции требуют многократного прохожтырьмя элементами в каждом измерении объявляется дания массива данных, и ни одна из них нс получает ° Поиск необходимо проводить как по узлам, так и по Здесь бег вГаск указывает не на один указатель заследующим о разом: б никакого преимущества от того, что в массиве имеются заголовкам, поскольку могут отсутствовать целые головочного списка, а на стек указателей заголовочно- Ор:аннзаянн данных )у(ЕЬе пагггх.еггог по )= Яр Всддя) е1ае е1ве разделенная натаяла часть и Глава хз недостатки.

Поскольку память вьщеляется динамичес- скольку основополагающим принципом разреженной ки, существует вероятность того, что используемая па- матрицы является небольшое количество ланных по урггпеу(ведегг, ' ар атее Ьеадег ) рвъз Вггог Ъд оп геппеве уог дгпепв1пп Ьеае)ег Ъдп мять не будет высвобождена требуемым образом, что сравнению с доступным для них пространством, исехзе(паеггх.еггог по); приведет к ее утечке. Кролзе того, необходимо будет пользование в заголовочных списках двусвязных списотслеживать возвращаемые значения всех функций, ков представляется особенно целесообразным. которые могут использоваться для выделения памяти, Использование олносаязных списков может значина случай, сели объем памяти недостаточен или вьще- тельно сократить требования к дополнительной памяГргупгг(аедопг, ио ха1пев спггепе1у гп гье врагве лагг) хп ); ление памяти проходит неудачно по какой-либо другой ти.

Тем не менее, в общем случае требуемый объем допричине. Поэтому описанный выше тип данных разре- полнитсльной памяти составляет незначительную часть женной матрицы включает поле ошибки, значение ко- от объема памяти, занимаемого ланными, да;ке при торо~о устанавливается в случае возникновения ошиб- использовании двусвязных списков. И хотя двусвязныс Грггпег(агдопе, Бпссеаауп11у геег1езед Еье Ьеадег гог дгпепвгоп Хд" Гье Дгпепадоп)Г ки при работе с элементами матрицы. Каждая функция списки усложняют сопровождение каждого списка, лучпсрсд началом работы лолжна обнулить поле ошнбюь ше сразу рассмотреть более сложный случаи; его упрочтобы предотвратить возвращение номера ошибки, воз- шенис оставляю вам в качестве задания для самостояникзпсй при выполнении прсдылушсй функции.

тельной г!)зо)заботки. Односввзные или двусввзные списки? Добавление новых измерений Обычно вызывать эту функцию напрямую не гребу- Это можно сделать, вставив перел объявлением ется, но она часто используется в библиотеке функций стрултуры ВР НЕАВЕВ ВАТА пользователя следую- В этой рсатизации разреженной мазрицы используют- Перед вставкой ланных в разреженную матрицу можно Ретро>теииаоиатреецо Глава 15 Ореаишациа давних Часть 11 Присоединение Получить заголозочлзей список для требуемого ) измерении Присоединение элемента заголовочною списка к лву данта в заголовочном списке требуеммй связному списку — это то жс самос, что вставка элемен- порядховмв номер о16 Ьеабег->ргеч1опз->лент = о1б Ьеабег->пехх) та в лвусвязный список.

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

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

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

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