Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Методичка по Системному программированию (лабораторные работы с 3 по 6)

Методичка по Системному программированию (лабораторные работы с 3 по 6), страница 2

PDF-файл Методичка по Системному программированию (лабораторные работы с 3 по 6), страница 2 Информатика (5924): Книга - 2 семестрМетодичка по Системному программированию (лабораторные работы с 3 по 6): Информатика - PDF, страница 2 (5924) - СтудИзба2015-11-14СтудИзба

Описание файла

PDF-файл из архива "Методичка по Системному программированию (лабораторные работы с 3 по 6)", который расположен в категории "". Всё это находится в предмете "информатика" из 2 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика" в общих файлах.

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

В качестве хэш-функции используют .(. (к) = [М(ха)1, где [х 1- наибольшее целое, не превосходящее х. Константе а, как правило, присваивают значение, называемое золотым сечением: а= (45 — 1)/2 О.б48. Здесь М может быть кратно 2, т.е. М = би, т.е. М может быть длиной таблицы размещения. 5.2. Разрешение коллизии а) Метод открытой адресации Алгоритм можно представить в форме: 1) 1=0; 2) а = й(а)+11 3) если а свободно, конец алгоритма (если это процедура вставки, то занесение по адресу а;если процедура поиска, то ключа нет).

4) если ключ, связанный с адресом а, равен к, то при поиске алгоритм заканчивается; 5) 1=1+! и переход к шагу 2, б) Пинейное апробирование. В этом случае в схеме открытой адресации используется а л(к)+с1, где с - константа; с и М выбираются взаимно простыми, с - не очень малым. в) Квадратичное апробирование. Это схема открытой адресации, где а = А (к)+ с[+ а1, где с,й - константы. з г) Двойное хэширование, Это схема открытой адресации, а=А(й)+й)17с), где й[к/ - хэш-функция, почти такая, как й (х ), но не эквивалентная ей.

Так, например, используют следующие представления: а = (к шобМ) + 1(1+ к шоб(М- 2)) или а = л (к)+ 1(М вЂ” л(х)), Теоретическая оценка числа коллизий при случайном равномерном распределении по М адресам дается следующими соотношениями: математическое ожидание: М1 — (М- А1); -нм дисперсия: М1 (1 — (М- Ф) 1 /М .

Распределение при 1 с с А! с с М приближается к распределению Пуассона, прн 1 с с А1= М - к нормальному распределению. Содержание отчета: 1) структурная схема алгоритма; 2) текст программы; 3) распечатка указанных в задании результатов выполнения программ. Задание. Взять множество целых двузначных ключей А(Л1).

Разработать две программы, демонстрирующие заполнение хэш-таблицы и поиск хотя бы одного ключа в таблице для заданной хэш-функции (одна - без «сцепленной» таблицы, М >Ф, другая - с использованием «сцепленной» таблицы М =Ф). В табл. 5.1 приведены варианты заданий. таблица зл РАБОТА Х 6. ОДНОСВЯЗНЫЕ И ДВУСВЯЗНЫЕ СПИСКИ Одно- и двусвязные списки относятся к линейным динамическим структурам данных, которые характеризуются переменным размером структуры н отсутствием последовательного расположения элементов структуры в памяти. Число элементов динамической структуры может изменяться от нуля до некоторой величины, определяемой доступным объемом машинной памяти. Логическая последовательность элементов задается в явном виде с помощью одного или двух указателей, хранящихся в самих элементах.

Таким образом, элементы динамической структуры могут быть разбросаны в памяти хаотическим образом, в результате чего усложняется процедура доступа к элементам. Для доступа к требуемому элементу необходимо просматривать список с его начала. Связный список - это структура, элементами которой служат записи с одним и тем же форматом. 6.1. Односвязные списки В односвязном списке каждый элемент состоит из двух различных по назначению полей: информационного поля и поля указателя.

В информационном поле хранятся данные, которые могут размещаться в нескольких логически связанных подполях. Кроме того, некоторые подпола могут содержать указатели на поля дополнительной информации, напрямую не относящиеся к связным спискам. В поле указателя Хранится адрес следующего элемента списка. Для каждого элемента (кроме первого и последнего) существует единственный предыдущий и единственный последующий элемент. Между элементами одного списка в памяти могут находиться элементы других списков. Как правило, для каждого списка существует особая запись, называемая дескриптором и содержащая указатель (адрес) начала списка, текущее число элементов в списке, имя списка и другую вспомогательную информацию (рис.6.1).

Дескриптор Рис.в.! Последний элемент списка в поле указателя содержит специальный признак, свидетельствующий о конце списка. Если в области памяти, отведенной под структуры, содержатся элементы, не входящие ни в один список, то, как правило, их поля указателей содержат признаки пустой записи. 6.2. Двусвязные списки Нередко при просмотре линейного списка возникает необходимость продвижения в любом из двух направлений: от начала к концу н от конца к началу.

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

К основным операциям, выполняемым над связными списками, относятся операции создания нового списка, удаления существующего списка, включения элемента в список и исключения элемента из списка. Кроме того, часто используются операции определения свободных элементов в области памяти линейных структур, упорядочения элементов по какому-либо признаку в информационном поле. 6.3. Общие алгоритмы выполнения основных операций над односвязными списками а) Создание нового списка Входные данные: массив значений для информационных полей элементов списка. 1.

Найти свободный элемент списка. 2. Записать его адрес в дескриптор. 3. Заполнить информационное поле найденного элемента требуемыми данными, 4. Если данные исчерпаны, записать в поле указателя признак конца списка и закончить работу. 5.

Запомнить адрес текущего элемента. 6. Найти свободный элемент. 7. Записать его адрес в поле указателя предыдущего элемента. 8. Перейти к п.3. б) Удаление существующего списка Входные данные: дескриптор удаляемого списка. 1. Считать из дескриптора адрес начала списка.

2. Запомнить содержимое поля указателя текущего элемента. 3. Записать в поле указателя признак свободного элемента. 17 4. Если в поле указателя был не признак конца списка, перейти к и. 2. в) Добавление элемента в список Входные данные: дескриптор списка, порядковый номер эле- мента списка, после которого надо вставить элемент в список, до- бавляемые данные. 1. Найти свободный элемент. 2. Если добавляется первый элемент в список, то запомнить адрес списка, записать в дескриптор адрес найденного свободного элемента, перейти к и, 6.

3. Найти'элемент списка, после которого необходимо вставить но- вый элемент, 4, Запомнить содержимое поля указателя (адрес элемента, следу- ющего за новым). 5. Записать в поле указателя адрес свободного элемента, , б, Заполнить данными информационное поле свободного элемента. 7. Записать в поле указателя сохраненный адрес следующего элемента. г) Исключение эламени!а из списка Входные данные: порядковый номер удаляемого элемента списка, дескриптор списка, 1. Вели исключается первый элемент списка, то изменить содер- жимое дескриптора, перейти к п. 4. 2. Найти элемент, после которого находится исключаемый эле- мент списка, и запомнить его адрес. 3.

Переписать информацию из поля указателя удаляемого элемен- та в поле указателя предыдущего элемента. 4, Пометить удаляемый элемент как свободный. Содержание отчета: 1) структурная схема алгоритма; 2) текст программы; 3) распечатка указанных в задании результатов выполнения программ. Задание 1. Составить программы работы с односвязными списка- ми, пользуясь следующими соглашениями. В качестве области памяти односвязных списков использовать массив размерности (2,50), началь- ное содержимое которого считать из файла ЗР1З1.ОАТ. Поле указа- теля элемента списка содержит номер столбца массива со следующим элементом списка. Последний элемент содержит в поле указателя значение О, а свободный элемент - значение -!.

Вывод информацион- ных полей осуществляется в виде строки символов форматным опе- ратором вывода через спецификацию 'А! ' (РОКТЕАК-1Ч). Восьмерич- ные и десятичные коды символов АЗСП и содержимое файла ЗР1З1.ОАТ даны в приложениях ! и 2. Варианты задания 1: 1. Создать новый односвязный список, информационные поля которого содержат символы слова «ДРАЙВЕР». Вывести содержимое сформированного массива и содержимое сформированного списка (информационных полей и полей указателей). 2.

Удалить односвязный список, дескриптор которого указывает на адрес 25. Вывести содержимое сформированного массива. 3. Дополнить односвязный список, дескриптор которого указывает на адрес 2, элементом с символом «- » между 3-м и 4-м элементами списка. Вывести содержимое информационных полей полученного списка в виде строки символов. 4. Удалить нз односвязного списка, дескриптор которого указывает на адрес 30, пятый элемент списка. Вывести содержимое списка в виде строки символов. 5. Определить все элементы, не относящиеся ни к одному списку (дескрипторы списков содержат адреса 1, 2, 25, 30) и не помеченные как свободные.

Перевести эти элементы в разряд свободных и вывести их адреса, 6. Дополнить односвязный список, дескриптор которого указывает на адрес 25, элементом с символом «, », стоящим после последнего элемента списка. Вывести содержимое информационных полей полученного списка в виде строки символов. 7.

Скопировать односвязный список, дескриптор которого указывает на адрес 30, сформировав в свободных элементах новый список. Вывести содержимое сформированного массива и адрес начала сформированного списка. Задание 2. Составить программы работы с двусвязными списками, пользуясь следующими соглашениями. В качестве области памяти двусвязных списков использовать массив размерности (3,50), начальное содержимое которого читать из файла ЗР1З2.ОАТ.

Поля указателей элемента списка содержат номера столбцов массива со следующим и предыдущим элементами списка соответственно. Последний элемент содержит в поле указателя значение О, а свободный элемент - значение -1. Вывод информационных полей осуществляется в виде строки символов форматным оператором вывода через спецификацию 'А1' (РОКТКАХ-1Ч).

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