Главная » Просмотр файлов » А.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки

А.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки (1113416), страница 15

Файл №1113416 А.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки (А.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки) 15 страницаА.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки (1113416) страница 152019-04-24СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

ДЛЯ ДСРСБВ поиска из Н вершин в лучшем случае его высота составляет 11Рибттнзительно 'ос)СИ (и НРИ поиске В ДСРсве нз миллноий всрп1нн прндстся ВыпОлнить вссГО с.б с)эавнсний), й 6 кудшеы — высота рав1га И: дерево «вытянуто» в цепочку (и при поискс 6 такОм дсрсВс придется просмотпсть Все сГО ВЕРШИНЫ), .4Ы"-дсрсато — двоиЧНОС дерево ПОНСКй, 6 Кйж:10Й ВСРШПНС КОТОРОГО ВЫСотй ЛСВОГО ПОДДСРСВВ ЭТОИ ВСР1ПИНЫ оглнчастся От высоты праВОГО поддсрсва эгои Вс)11пины ис более чем нй единицу, Тйкос СВОЙство сушсс.гвснио ОГ)»аничивйст увеличепис Высо'Гы дерева с ростом количсствй вершин, то есть поиск нужного злемен га происходит быстро.

)(роыс того, су1цествует эффективный алгоритм добавления (вставки) нового злемеита в А1ТЛ-дерев01 новый элемент лсойвлястся В качестве листа к одному из поддеревьев (кйк и 6 дсрсВс НОискй), й затем для тсх Всршнн, Гдс услОВис ойзгаисиройки АВЛ-дерева окйзйлось ийруп1снпыы, вьиолнясГся соотестс16у106)ий НПВОгюж, кото(эый сводится к пс(1естанОВЯС нсскОлысик Всршии и поддсрсВьсВ. Приме(л РЕВЛИЗВЦИЯ 110тРОТКОГО ПРВВОГО ПОВХ1РОЗЖ Кй..

Й У(1 /~ , ,)у)~ (б) збхнсг схеспОбе ГО1'.ИСС ЕР (ВВТПСГ ГХССПСтС)Е *ХОО ) ч-'"пас ЕГ~епаао '>Ь == Гаае-ьуеб!; зт1»заь ВГеепас16 ".* = Ь-ав' Йпс; яаа« -Э1еу . =- а-> -«ПЬ>; пеь,енаа»7аддоаиве 1>1 а-ЯГ>ЦЬВ =- Ваав; а становится потомкам а 'Г>-аЯ~.ЙЬ«Ь = »=-яуе' "; УУ пе»а«анас 1>алдереиа> >и а-ь)ВЙЬ = Ь; Ь становится потомкам ' еп>1Г11 а» ,ИКВ ВВ 'ГЕЕЛЬ» Иа Ьа БЫЙ Кар онь Д«;.аив В ВЙ4.). Описат> функци10, кото)>ая апреле»зяе> является ли данное двоичное дерево деревом поиска: и) рекурсивио: б) нерскурс1пщо. используя определенные ранее типы данных истек» и <»Очередь», ВЬ4э"Ь Описать фУнктщю, >сото)>ая для заданноГО дваичн010 дерева поиска: и) находит %1имены1пее 31ьзчсние В нем ~считать, чтО дереВО непустае); б) добавляет задсп>ный Элемент в дерево пои~Ха !'если злемеп1 узко был в дсрсвс, то пс добавля>ь); в) удаляет из неп)»стОГО дерева поиска е1 0 маесимвльный элеме1ГГ; Г) находит В дереВ~ пщиска максимальное и Второе по Величине 31тачения >считать, что дерево сОдержит нс менее ДВУХ ЭЛЕМЕНТОВ); д> удаляет из дерева поиска зз>еыент с заданным значением (если он есть); е) Опре»деляетт является ли заааниое дереВО 1Н>иска АВЛ-деревом.

Реальные проГ1>аммы на Си, как п)Завило. со~то~т из нескольких файлоВ. СреДИ этих фаилОВ мОГут Оыть затолово'>ные файль., соде)>жтщие 11»1>п1у>11>е>)е просрамыы илн ее частеи (те. набор функций и переменны>ц с пОмОщью к010рых мОжнО использоВать функци01иальиость» осалпзованпуи> п)ЗОГрамыс«й), и файлы с рещ>изацней ~В~~~Й протраммы ~с распщрением . а), В Си используется раздельная компиляция, то ес1ь Все файлы с кодом прОГраммы у>ажно компилировать отдельно. СХема Компиляции Си-просраммы представлена на рисУНКе 7. В ходе Компиляиии ОДИОГО файла сначава этот файл Обрабатывается >>р1»пр111)ессаром — компонентом, произвоз1ящим набор ~еяс~овы~ подстановок над файлом для получения еГО Оканчател1»иОГО Вида и передачи компиляторуз Лотом компилясор получает 11ссея1бяериый код.

то есть представляет прОГрамь>у В Виде последоВательности кОманд ценГральнОГО процессора и Описания не00ходимых ячеек В Глобальной и статической памяти. Далее пссяьиб»1е/> ЛОлучает по файл~ на ЯЗЫКе ассемблера Т.н. Об>»ек>и>>ый файл Гкак правило, имеиииий расщирение, а на Вп)х-подобных системах). и Которо~ Команды ассемблера закодированы В Двои~~~м виде, а такж1. О~~с~~ вид стапсческой и Глобальной памяти.

Наконец«ГМ>иит>иав>Пик Об спечнвает слияние нескольких обьектных файлов В один испол~яемый файл просраыыы. й! 1! еЗХ .Ф Г 1 ППС О цес Асс ЫеЗ.о фэ Исходиее оооПэамме 1 Ф Ые1.с 6)е2.с — — — — )Г;— Г11эепаоцессо)э ~ ) Прелсо ~':.:-"Л ~':,- Д)е1.о Г11е2.о прог)эаым11 Гэ.с. Описапэес инте)эфсйснь1х функций програхэыэл В заголовочпэз1х файлах и их ЛОДкл10чснис), Обсспсчсние переносимости проГраммы 1'за счет услОВБОЙ компиляции).

авэоматическаЯ Генерация Однотипных участков кода Гза счет макросов), Управление препр1111сссороы обсслэсчи веется вэоэкэчснием в текст программы дирекэ.ив препроцессора. При обработке каждой директивы препроцессор меэгяет текст прОГраммы Определенным Об)эазсэм, послс чсГО удаляет из текста Обрабспаниуго дирскгив,е После окон илия рабэоты препроцессора компилятору Си на вход подается файл с текстом программы, содержащим лищь ОпрсделсниЯ и ооъявлениЯ фу'акций и ОбьЯБжния переменных, как Описаээо В )эаздслс 1. Строг11 Го~оря, до зтаэга прспроцсссироваиия ко~пилятор Также п)эоизводит ПРСДВЙ)ЭИТСЛЬБУКэ ПОДГОТОВКУ ГСКСТВ ПроГраММЫ обрабатывает миогобайтовьгс символы, заменяет комментарии пробелом и тл1..

— НО рассмот)эепие згого процесса нс вход~т в задачи настоящего пособия. ! Исоолиеемый фзйл Р11Г, 7. Г.'хема кээеэлиээлэлэи 31иосгэлэодуеьной лририээиы Прспроцессор Си обеспечивает 1скстовуэо обработку файла прог)эаммы До пс;эсдачи сс компиляго)эу. С;реди Задач прспроцсссора мОжнО назвать Ооеспечснис модульиОс'1и Подклэочсние заголовочных файлов программы Осуц1ествляезся с помощью дирееггивы Й ' псу пав <б1)с,й> или Й1пс11ов "11.э.е.це. Какп)Завило, список ДИ)1СКТИВ й 1.! ~сйц ье дзя пОДКЛГОчСиия необходимых файлоВ указыэгается в первых строках,с-файла. Первыи вариант директивы с заклкээсипсм имени файла в угловьэс скооки использестся для общесистемных библиотек.

Вклкэчая стаидартнуго библиотеку Си. а второй вариант 1с двойными кавьгчками) — для поээьзоватсльск1тх файлов. В скобках или КВВычках иахОди Гся имя пол) часмоГО файла или Относительный путь к ному, РВ31гица В дВух вариантах директиВы закэпОчастсЯ в разных 1габорах каталоГОВ, Относитсльно которых ищутся задаиньгс В дирсктивс пути к подклкэчасыым заГОлово~1иым файлам, Дирсктээва есэст 1 па слтжит д!Гя Определения нек010(»ОГО имени, ш1зываем010 11Г1кросг01.

и соогветству1ощего ему глекстг1 подстановки, или л»С.1а .НОЬ11гнх1. Напрнмср, днзектива Фбсгупе ОЕББОР?1КТ 11»гйг1»Т (всс)е х, "КСЬ »с( Оц' ров: "') определяет макрос ОЕБУОРР1КТ, прн хгом после обработки директивы дщ1сс в тексте ц(хи.)»аммы прспроцессор замсняет Всс вхождения имени ъикроса в текст на сГО тело (выголчястся т.н.

11окрол01)сл1ОН067(11). Так, с»'рока ОЕ БО О РБ1КТ; будет 1амененй гщ строку ( р г) и С1 (аьк(е»»л, "бсьой1 оцьрпь: "1;. Макроподстановкй нс Ойдет ВЫПОЛНСНЙ только В том слу~1ас, сели имя мак(»осй будет найде~о внутри стр1хки, зйкл1очс1пк»п В двойныс кавьп1ки: с»рока рг)ПЬ1 ('"ОЕБООРР1КТ» х =- йс(йп", х(1 не будет изменена препроцессс1роы. На имя мак)»оса нйлщ аю»ся Гс жс с»грани 1сиия, что н нй имена переменных в Сн — имя состоит из цифр, букв н знака пОдчсркиВЙння ( ), псрвый символ имсни нс может Оыть цифроЙ. Традиционно в именах макрОсов испОльзу10тся зйГлйвньге буквы.

Макрос считйстся Опрсделснным От строки, СОДС)»ЖЙЩСЙ сООГВСтСТВУющу10 ди)1СКтпву ФС10 Г 1пс, до КОНца программного файла. Если необходимо переопределить макрос нли сделать сгО нс Опрсдслснным, т0 неооходимо использовать директиву Й1ЗГС!Сб г1ЙСГО Зщя УДаления Определен~~ макроса ~Його, после чего м~жно будет снова ОПРСДСЛИТЬ МЙКРОС С ТСМ "*Ке ИМСНСМ, ПО Д1»УГИМ ТСЛОМ. Если в ходе макроподстаповки получившаяся строка снОВЙ сОдсржнт изВесгныс п(хепроцсссору имена макросов, 'ГО к этим имсиам рскърсиВИО применяется мак)10подсгановка ДО получения строки, не содержащей имена макросов.

Например, после Обработки препроцессорои НИЖССЛСДУЮЩСГО УЧЙСТКЙ КОДЙ СТРОКЙ р.дпь" 1 "ОРБ((к»ч" ' Судет Встйвчеьщ (6 рйз ааеб1»с »ь1" -л'.С""' ("1» БОО О»") ФК Р(ге ТКО ОКЕ; ОКЕ йаеб.„с ЬООР ТКО1 ТКО ФКС11пс 51ХТЕЕК Ь"ООБ; ЕО(ТР1 РООР; РОББ ВЫП1с мы рйссмйтриВЙлп макросы.

тслй кото)зых ВссГдй раскрываются одинаково, Макроподстановкн можно Варьировать, задавая фО)'*мальныс п%'Кмел1Л1ы .1117хууосп1 (В скобках после имени макроса) и используя их В теле макроса. П(»и мак)»оподстйнОВНС Вмсстс с имспсм макроса укйзыВЙются фактические арг)а»щ1ты в с~~бкаХ. и в подставляемом теле мак(х»са Всс Вхождения формщ1ьных ар1умснтОВ замсняются на Фактнс1еские. 1)ри этом (ракти 1сскыс аргументы макроса МОГМ1' ОЫТЬ ЛЮОЫМИ ПОСЛ1'.ДОВЙТСЛЬНОСТЯМИ СИМВОЛОВ ИЛН ВЬ1РЙЖСНИЯМН С11 Например, описанный макрос ОЕБООРРТКТ можно усовершснстВОвать, ВВсдя ЙРГумснт Х: ()с(ебьпе ОЕБООРЙ1КТ (Х1 1рг'.ГСЙ 1зббсгг, ' с(СЬ11Й ЦЙ1»зс: йб Хп ~ Х1 н используя сГО как ОЕБ(16РР1КТ (1+5); (0удег созда1и строка 1(»СТИВЕ (31:статс, "ОНЬЦБ са1ые1йойп", 1-'-5);), НсоохОдим0 под~1сркнуть, гпо препрОцессОР ВЫПОЯНЯСТ ИСКЛЮЧНТСЛЬНО ТСКСТОВЬГЕ ПОДСТИНОВКИ, НС зйООтясь О сОдсржнмом фактич~ских аргуыснто»в. НСН1римср, для макроса Йоебупе КАЕР(Х) ХУ2 мйкроподс ганс»вка Для 1ж рсно1 ~ .= Н ь(,Е 1 с -1 й ) буДст выглядеть кйк у =- а ь 4/2;, прн этом нз"зй разных й()с"1пс КАКЕ)Х) !)Х) Уй) приоритетов деления и сложения пред(«олап)емое значение у будет неверным, Во избежание таких сизуацнй и для четкой расстановки п))иоритстов Сперм(ий )Гсооходимо заключать в скобки кзк тело макроса.

Так и всс Вхождения в ньчо фО))мзльных арГумснтов: Кроме того, необходимо избегать написания макросов. В телах к(угтв«)ых «зр(умснты вьщисляклся болсс ОДНОГО ра(з. з также передавать В макросы и качестве Фактических арГумснзов Вырзжсния с побОчнь(м ')(1)фсктом.

Например. для МЗКРОСЗ й()011пе АВЯ (Х) ) (Х) >=- В: )Х): — )Х) ) ВЬГЧИСЛЯЮЩСГО МОДУЛЬ СВОИ О ЗРГУМСНТВ«ИСПО»(ЬЗОВЗНИС С(0 как АВЯ(у--); приведет к тому, по побочный эффект выражения у.-- оудс.) вы«п(с»)ен»цзз раза. Следовательно, пользоваться мзкросаь(и н(.*оохОдимо с Осторожностьк)« избег«зя их бездумно~о применения, которое может быть заменено ф)«нкциями.

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

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

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