А.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки (1113416), страница 14
Текст из файла (страница 14)
К ),' йуммдр пи~альжввиия ~:~т~и. дла 1ъабс»ткк се с ласс»ам васЙ;ЯвасК 'з»,' ( 16: -1„ (съОес»е»6 ъеу с)»»» аеус~. / / таса ада ааькс ссс.»аиду.*с а»'те»ке 'сурес)ех зв тес' трукт»ура — Осел таял~ яие ст- »а с1а(.аьуре ' Веж2; 100 заве» :*, размер стека ЗР» ,» НОМЕР 0».СЛСДНЕДС Зааатсте ) э". ас1с с »аъ ак:ааи збхб .'»Р.', В Я з  — >я) ус» ЯС->Я(» ЯС >» Ветвя 'ъа) ее =- ЯК->х(сев»ъз(зв->Яр--); тевете яс->яр Считал, чтО Опмсви тйй я Вас К (съа сев ура СДа' )» й ТЛКЬКС фуИКЦИИ Ъе»»;; ВСК СЕ! Е' Е »»ОЯЙ, рср» жврс»/ Ясаск Длл рв160ты СО ствкекк вливать вс(ъекурсивиую функцйк) еъе» яе, катОрйя ВВОдит с КЛВВИИЪРЫ ГВКСТ вЂ” ИОСЛВЛОВВТВЛЬИОСТЬ СИМВОЛОВ, Окайчива10ъс(ук)сл 70чкОЙ, и Вь$ВОдит Зтъ левлвдсвятвльнОсть в ОбрятБОКЧ перлдке.
Ос Ы г(е1еСе я а Йте. (Я ->ьве Ос»ъс) рез»(ъ (з ас 1С» (ЯС->Яр Я1->за»ве ЧЪ вЂ” >»»" ~С»З Я" — >ХС Ггз (»+ЯС УО) б рср (яваск (Я»--'>ЯО < О ражей ("Сте ек1'- (с) ) к»а."Ъ1ос (16 ' Я' вес' (с(а~а»)сьре) ) / .::,': сК (зсаск "ЯК) ( СВЯ ); з(-» савс»суре ъ а)»а ) ( . '...'ф~ '- ЯВ->Я» ве — 1.) ( кеа.(.) Ог (БС->ТСе»»ЛЯ, ->яр) =- ъа10е: я» се в»»тъ/ре "а10е) К ИУССТ('") Р 112 ъсъс1 течетяе (ъохс1) Явасв ЯС; с1ъзт с; ье»ье з~ асв (йзв) ) м)сх» е ( (с == Йегсгал ',1) рез1ь (,ъзе, с'»; жй» 1е»»еьзрку Я»" ас)с (ЬЯК» ) РОР (»ЪЯВ, ЙС); 1>ексйъа~ (с) ) с1е1е"е ЯвасК вурес1ер ЪИС с(а':аеуре; / / тиа» Казахах; кра аиа»ьск а О у еседи еиесв ( л'ак с(ееве я.ъ'"=' Сурсъс(е ЯС тасе ( // с""'рук'Г>60а аредстаалеасае сне) ада с)аеавуре *Весй''(пах сееае Яъве) )пс йезс1; йнлеко первого злементз 3 очеред количество ел'Зменеов 3 очереди Ч1ЗЕ113 ~ фуниийй Ллл работы с сче 'е'"ьз '111 '- ср1!Вне 1011ес1е *О) 1 О >безо '- 0 а->3' ае = 0; чоуб с)с 1ете с)1зепе 1с)йене О) чо) с1 егк)нейе 10пене "с), Взззвуг1е з г 10 >31 ае >-- лчзх с)пес1е 3з аз ) 1 ргзп1 г в" Очередь 11ереполгсенз! М") ) 11); с1 > у сек~3 1 1с", >ьлезс 1' О ->31, зе) а газа Осе ее 3 2 аз" = чз:-' Оз," с1- > 3 1.
а е ++; СО3с' ОЕЗНЕО~ СС)1>~ОЕ "Зсзтз1ре "чауйо1 ).г' 1с)->з.'.Ве = — — О) ргтпгт 1 очередь пуста) 1п 1 ехз1 1:: ); ';абае = с)->11беьзз „О->деза)р Я ьезб =-' 10->11езо 2) В азах ц1зепе Язве; О >31ае ).па етреу с)еес1е 1стое1йе +с)) =е'11тп с)->3 'гве =---- 0; 121лз11. Ожрс с)ь. 10,2.1. Описать реализани10 сг олнонапр6Вленного списка. 10.2.2. Описать реализадик1 очереди "" основе однонаправленногО списка.
В заД6чах 10,2,3, - — 10 2 б с'нп ать уьче Опйсанныцй '1ипы й функйий для Рабогц с 1, „ей 61 й Очередьк1, ПЕ ЕВОДИТ заланнос 631гебраическое выра1кевае., с Одерьчапсы о .,р' ль )„пельье числа), круглые скобки оаварньге Операпйи 1 и —, в 11остфикснувз загпзсь, Счйтагь тз жу признаком Вырайсения. Для регпсния зада~1и использовать стек, 10,2 4.
Репсигь предыдч1тдчьз задач1', если В качестВе ', НО1КЕНИЕ И ДЕЛЕНИЕ 1" И операййй могут Встречаться такькс 1м" У); прио)зитеты Операзпзй доллсны быть 10.2.5. Реализовать вычисление ~ь'Р~®ен~' ,' и записаннопз В солерьчан)его бй1ьзрньге с1г1ера1)ии '; постфиксной форме. В реализации ис"О" ьзовать стек' количество заранее не известно). СЗПРЕДЕЛИ~" ПСД )и е слить подходяпзукз струксуру данных и написать программу которая ' д мм, кото ая 36 Один просмото файла рел1ает следуьоп)'Ф 3 д У' а) напечатать сумму первого и г1с1следнсз1 0 'изсел' срмму второго и предпоследнего чисел и з' Д: б) вывести сначала все четнме ""ела ч'а"ла.
" Зато" счет ыевт поряд-,вкотоРО Он" НДУ т0 Ом Они ид ьт 6 файле) 1спользуются преимутцественно для хранения 51анных с Возможностьк1 быстроГО поиска по Двоичное котороЙ каждая МОж1ю привсст и — дреВовидная структура да ИМЕЕТ НС ООЛСС ДВУХ П! НОС ОПРСДСЛСНИС ДВОИЧНОГО ННЫХ«В ЯВЛЯСТСЯ. 15) структура, яВляются два д Оба .--. пус'1'ьк«). состоя1цая ВОИЧИЫХ Д также обоа из Верп1ины«потомками срака (В5ззь1ожно«одно из зуст двоичное дерево. ыВастся вс Й вершин РУ'ГО рень. НИНЫ, ИЕ Г!ЫС1ОЩИС,'.::::-~!«','. ыпая длина пути от тьев. Длина пуг51;:""„::.,',Я;« !РЕНЬ ЯВЛЯСТСЯ И СГО -,:":,~~~«)«,' ' рева равна 1. корня дерева ИЗМСРЯСТСЯ В состоящсГО из 1 СДИНСТВСННЫМ Л В) вь1вести Все четные числа нз файла в исходном 11орядкс«а затем — - Все нечетные ~~ела фаЙ~В а порядке, обратном порядку их следования В файле. Легко видеть, 1то коли'1ество листъев в двоичном дереве высоты й нс прсвьшгаст ".
, а ОО1цсс количество вершин о!.раничсно Величиной УУ -1. Для работы с двоичными деревьями па языке Си можно испол!«1оват1«следукицее Описание: е'С 1зес СКСС1ЗО«зс «пс НТС1В; аз=ног. ". Гезпобс Тсг':, *Г1й11В; При передаче двоич!Юге дерева в функци!о передают указатель на корень ззоы1 дерева, 11устому дереву соп1 ветствует указатель ч«11.;, Для Оохода Всех всршин дерева испОльзуют как 1гекурснвныс„так и перскурснвные алгоритмы, рек~р~~вный поход дерева Вытекает непосредс~венно нз рекурсивного определения дерева. Пример: функция, 1гсчатаю1ц«1я зна'и1ния Всех 3!!СмснтОВ дерева.
У«О1й рг)1ЗС '. Гее ! В1,кпсс асеепобе Т) 1 1й 1Т != 3131,11 1 ряуп" Ггее !Т->)сйе1 5 ртзп",. Сгео «т->т')опе15 1'скурсивный алгоритм осуп„ествляет обход дерева 1«в ГЛУбинУ>>: злемсн'Гы Дс)1СВД расположснныс Дальпге От корнЯ, Обрабатываются раньше бо51ы!ЗИ11ства (из!51 Всех) з11смсит11В, находя!Дихся олижс к коршо. При нареку«1зсивном Ооходе дерева для х)ьансния Всрцп1Н, подлсжагцих обработке«использ)«тот стек нли Очередь. Г)сг1ольз1звание от~ха д«зст тот жс И~рядо~ Ооработки вершин, что и приведенный выше рекурсивный алгоритм, а использование Очереди позволяет обрабатывать злементы дерева В порядке увея!ичсння расстояния От корня: сначала к!зрневучо Верн!Ину, затем — Все Верннн!ь!, Отстоягние От корня на 1, затем — Все Вергнннь!, ОтстОЯЩИС От кОрнЯ нй й, н так ))а!!Сс. Та«он Обход называется обходом «В н!ирину».
!)ример: нсрекурс!4аные функнин, нечата!Оннзе значения Всех злеь!Снт!«в дерева при ломогаи стека и Очереди 1стск и Оче)ждь при >пои должны х)мнить значения тнГ!Й ЙСГНС"; ,'Геенобе ). СОН'с5.оо е З ркхнСТ 1 "йо!и", Т->ЙТегп); е!Тднене 1Й!1, Т->1е,".'С); Нонне!зе (а!1~ т->ГТ!3)тс); /у Сурес)ег анснсс ! Весно' е с) -а~>ре" ТИП ДЙННЫХ ДЛЯ Стана)ОЧЕРЕДИ ЪО«6 рГХО! ! Тее ЙПЙСЕ !з"Гиок Хгее!Тобе "Т) аеас« ЙХ; Оьа В'Йсй 'Ьее); рнай ' аа":, Т';; нйз.
!.. ' ! Оп!р! у анас« )аз! рар ! ЬЙ', ьТ); Тб !Т !=: УЛ.') 1 !ЭГ оку 1 йй! Г! р Т «Ойеп!) Рсай )ьах, т->Гзо)!!З) ' Гл!ВГ! ! ЙБ1 ~ Г >)НГХ) ) бе1еке Вааск ,'ЙВХ) Йозб РГТО) ",.Гее с)!!е!!Н1 Всгнс! Г сеенобн '"Т! с)!Зе!Зе с) з!Ззк !Тонне !ЙЯ епоне!!! ! Дог ! ! Сп!о, у сиене ! Йс)) ! оеч!!е!1е ! БЯ, ЙТ) ! — Н!)~»! ) 16 3 1 Описать функпн!О которая.
а) ВычнсляеГ сумму Всех э.жмснтОВ дВОГГЯИОГО де)жва," 6) подсчитывает количество вхождений ;жданноГО злемснта В двоичнОС дерево,' В) Вьгчнсляет Высоту дВОнчнОГО де)зева; Г) печатает значения данных из Всех Верн!Нн дерева, не являго$цихся листьями; д) н)зОВеряеГ, идентичны лн даа двоичных де)жва: е) удаз!яет Все злементы заданноГО дВОнчноГО дерева.
10.3.2. Испо!т! зуя Определенньж ранее тины данных «очередь» и «стек», описать нерекурсивнуго функци!О, КОТОРЙЯ! а) определяет число вхождений заданного элемента В ДВОНЧНОЕ Дара*';О; 6) вьгчисллет сумму злемегггоа двоичного дерева; В) находит длину (количество узлов) на !туп! От корня до б~!Нжайшей Верн!Нньй соде)зжагдей заданнын злемент !Сели тикОм Верн!Ины В де)жве нет, то считать 1жзультат равным "1); ( я Г) ПОДСЧНТЫБВСТ КО1П1т1ЕСТВО УЗЛОВ На ЗВДВНИОМ УРОВНС нспустОГО дВОитгнОГО дс)эсва ркорень считйз'ь Вср1пинОЙ НУЛЕВОГО УРОВНЯ).
Д6011ттяьси дерс61М1 ПОИСКЯ Н6ЗЫВВСТСя ДВОИЧПОС д1'.)ЗсВО, В котОром лсВОС поддерево казкдОЙ Вершины мО»кст СОДЕРжатЬ ТОЛ1тКО ЗНВЧЕПНЯ (КЛ1ОЧИ), 01РОГО МЕНЫПНЕ КЛК1 Га В Вс(1шинс, а ппйвое поддерево — только кл10чн, стргя 0 ООльп1ис клгочй В Вср1пинс. Одинаковык кл10тгей В дсреВс пОиска быть НС МОЖКС. ДЕРЕВО ХГОИСКБ ПОЗВОЛЯЕТ НаколнтЬ НУХКН1 1Е ЭЛСМЕ1тты В нем за время, пропорциональное Высоте дерева. Пример: фуикцня. Возвра1цактп166 указатель иа вершипу дерева поиска с задйпиым 6610чоы.
21;Гпсв хгсепоое * Вейх'сй (Вбхпс1: '~.х'Сепобн ЯТт т1пб Йстр) 11 (Т == тттШ.1.) Хт КПХП 1тббт ° 17 (Т->61661 =-=: Йау) 66606П ' Т 1)ссу к Т 6016611 ХС611ХП 6666СЙ (Т-»161ХТт ЙС1т); 6160 хсбпхп йезхсп (7-'. Г1бббт )хсу;'; ЭффСКГИВНОСТ П11иоьа К Пгтт16 6 Д1'.Реве П11иокй СУЩССТБЕННО ЗЯВИСИТ ОТ ЕГО СТРУКТУР1т1. ТВК.