Аналіз змісту професійної підготовки майбутніх інженерів-програмістів з формування алгоритмічної компетентності

Дослідження та аналіз літератури з фундаментальних алгоритмів. Методи побудови, аналіз ефективності алгоритмів, які дають можливість сформувати в майбутніх інженерів-програмістів здатності до застосування алгоритмів у своїй професійній діяльності.

Рубрика Педагогика
Вид статья
Язык украинский
Дата добавления 01.08.2022
Размер файла 26,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Мелітопольський державний педагогічний університет імені Богдана Хмельницького

Аналіз змісту професійної підготовки майбутніх інженерів-програмістів з формування алгоритмічної компетентності

Ібрагімова Л.А.,

доктор філософії в галузі педагогіки, старший викладач кафедри інформатики і кібернетики

Анотація

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

У статті розглянуто та проаналізовано спеціальну літературу з фундаментальних алгоритмів (книги, підручники й методичні посібники вітчизняних та закордонних авторів). Одиницями аналізу є основні концепції (алгоритм, структура даних, дерева, графи, складність) і методи (сортування, пошуку), алгоритмічні підходи. Перевагу було надано роботам, у яких добре висвітлено основні алгоритмічні конструкції, наведено приклади практичного використання теоретичних концепцій, а також завдання для самостійного виконання. Проводячи були визначені фундаментальні роботи з теорії алгоритмів, зокрема праці Д. Кнута, А. Ахо, Д. Хопкрофт, Д. Ульман, проаналізовано зміст найбільш затребуваних підручників з «Теорії алгоритмів», як вітчизняних науковців так і зарубіжних.

Доведено, за результатам проведеного контент-аналізу, що наразі існує достатня кількість як фундаментальних робіт, так і навчальних посібників, у яких розглядаються методи побудови, аналіз ефективності алгоритмів, які дають можливість сформувати в майбутніх інженерів-програмістів здатності до застосування найбільш затребуваних алгоритмів у своїй професійній діяльності. Подання матеріалу в усіх розглянутих роботах супроводжується прикладами коду (псевдокод або сучасні мови програмування), що є необхідним для ефективного вивчення алгоритмів.

Ключові слова: алгоритми, теорія алгоритмів, структура даних, дерева, графи, складність, алгоритмічні підходи.

Abstract

алгоритм інженер програміст професійний

Analysis of the content of professional training of future software engineers in the formation of algorithmic competence

Ibrahimova L.A.

Doctor of Philosophy in Pedagogy,

Senior Lecturer at the Department of Informatics and Cybernetics Melitopol State Pedagogical University named after Bohdan Khmelnytsky

Key words: algorithms, algorithm theory, data structure, trees, graphs, complexity, algorithmic approaches.

The article is devoted to the analysis of the content of professional training of future software engineers in the formation of algorithmic competence. The content of algorithmic competence of future software engineers includes: understanding of fundamental concepts and practical aspects of algorithm theory; ability to combine known algorithms and develop new ones; ability to apply the process of algorithmization in different interdisciplinary areas; ability to develop and implement algorithms in future professional activities. Thus, it is expedient to determine the content of professional training of future software engineers in the formation of algorithmic competence using the method of document analysis, in particular content analysis of texts in which this content is reflected.

The article considers and analyzes special literature on fundamental algorithms (books, textbooks and manuals of domestic and foreign authors). The units of analysis are the basic concepts (algorithm, data structure, trees, graphs, complexity) and methods (sorting, search), algorithmic approaches. Preference was given to works in which the basic algorithmic constructions are well covered, examples of practical use of theoretical concepts are given, as well as tasks for independent performance. Fundamental works on the theory of algorithms were identified, in particular the works of D. Knut, A. Aho, Hopcroft, D. Ullman, the content of the most popular textbooks on «Theory of Algorithms», both domestic and foreign scientists.

According to the results of the content analysis, there is a sufficient number of both fundamental works and textbooks, which consider methods of construction, analysis of the effectiveness of algorithms, which allow to form in future software engineers the ability to use the most popular algorithms in their professional activity. The presentation of the material in all the considered works is accompanied by examples of code (pseudocode or modern programming languages), which is necessary for the effective study of algorithms.

Основна частина

Постановка проблеми. Проблема підвищення якості вищої освіти з підготовки ІТ-фахівців наразі є однією з найактуальніших для сучасної педагогіки та дидактики, та потребує додаткової уваги. Найбільше питань виникає до змісту професійної підготовки майбутніх інженерів-програмістів так в процесі розробки змісту потрібно враховувати потреби суспільства, ринку праці та сучасні тенденції в ІТ-сфері.

У межах нашого дослідження явищем, яке необхідно проаналізувати та сформувати основу для подальшого наукового пошуку, було розглянуто спеціальну літературу з фундаментальних алгоритмів (книги, підручники й методичні посібники вітчизняних та закордонних авторів). Одиницями аналізу є основні концепції (алгоритм, структура даних, дерева, графи, складність) і методи (сортування, пошуку), алгоритмічні підходи.

Аналіз досліджень. Сутність алгоритмічної компетентності розкрито в працях Д. Кнута,

Е. Дейкстри, Дж. Макконелла та інших вчених; форми, методи, прийоми та засоби формування алгоритмічної компетентності в закладах вищої освіти подано у роботах С. Мухитдінової, Л. Бла - годир, Н. Антонова, Г Хамер, С. Волошинова, Н. Морзе й інших дослідників.

Мета статті - проаналізувати зміст професійної підготовки майбутніх інженерів-програмістів з формування алгоритмічної компетентності.

Виклад основного матеріалу. У процесі аналізу було розглянуто зміст 30 джерел, що дозволило визначити послідовність формування алгоритмічної компетентності у процесі професійної підготовки майбутніх інженерів-програмістів у ЗВО. З обробленого масиву інформації було обрано 21 найбільш релевантних проблематиці дослідження джерел. Перевагу було надано роботам, у яких добре висвітлено основні алгоритмічні конструкції, наведено приклади практичного використання теоретичних концепцій, а також завдання для самостійного виконання.

Аналізуючи літературні джерела з теорії алгоритмів, можна виділити такі три напрями:

1. Класична теорія алгоритмів (формулювання завдань у термінах формальних мов, поняття задачі розв'язності, введення класів складності, формулювання проблеми P=NP, відкриття класу NP-повних задач та його дослідження);

2. Теорія асимптотичного аналізу алгоритмів (поняття складності і трудомісткості алгоритму, критерії оцінювання алгоритмів, методи отримання асимптотичних оцінок), роботи Д. Кнута, А. Ахо, Д. Хопкрофта, Д. Ульмана є фундаментальними зі вказаного напряму;

3. Теорія практичного аналізу алгоритмів (отримання явних функцій трудомісткості, інтервальний аналіз функцій, практичні критерії якості алгоритмів, методика вибору раціональних алгоритмів), найголовнішою роботою в цьому напрямку вважають фундаментальну працю Д. Кнута «Искусство программированиядляЭВМ».

До фундаментальних джерел з теорії алгоритмів належать праці Д. Кнута, А. Ахо, Д. Хопкрофт, Д. Ульман.

У процесі написання серії книг (Основні алгоритми; Получисельні алгоритми; Сортування та пошук; Комбінаторні алгоритми; Синтаксичні алгоритми) Д. Кнут поставив собі за мету поєднати в одному виданні довідники, в яких опрацьовані та підсумовані знання з різних областей науки, з підручниками для самостійного вивчення програмування, які вирішують питання з обробки та накопичення інформації.

У першому томі «Основні алгоритми» описано базові поняття, основні алгоритми і структури даних, методи програмування. Автор зосереджується на розгляді інформаційних структур - подання інформації в пам'яті комп'ютера, структурних зв'язків між елементами даних та методи ефективної роботи з ними. Для методів імітації, символьних обчислень, числових методів і методів розробки програмного забезпечення наведено приклади елементарних додатків. Розділ математичного введення відповідає сучасним напрямам дослідження. Приклади програм написані мовою MMIX-асемблер, для якої існує програмне забезпечення, що забезпечує її емуляцію [77].

У другому томі «Напівчисельні алгоритми» описано теорію напівчисельних алгоритмів та наведено їх приклади. Установлено сполучну ланку між комп'ютерним програмуванням і чисельним аналізом. Автор дає нове трактування генераторів випадкових чисел та розглядає засоби розрахунків за допомогою формальних статичних рядків [8].

Третій том «Сортування та пошук» є продовженням першого тому з розглядом класичних алгоритмів сортування та пошуку і доповненням інформації про структуру даних. У цій книзі розглянуто принципи побудови великих і малих баз даних, а також внутрішньої і зовнішньої пам'яті. Крім того, спеціальний розділ присвячений методам оптимального сортування і опису нової теорії перестановки та універсального хешування [9].

Четвертий та п'ятий томи присвячено комбінаторним та синтаксичним алгоритмам. Кожна книга включає близько 1500 вправ для самостійної роботи з відповідями. Розгляд матеріалу починається з булевих функцій і технологій та трюків роботи з бітами, потім всебічно розглядається генерація всіх кортежів і перестановок, всіх сполучень і розбиття, і всіх дерев. Дані алгоритми призначені для роботи з інформацію великих розмірів.

Наступною фундаментальною роботою є «Структуры данных та алгоритмы» [2]. Навчальний матеріал подається в 12 розділах у такій послідовності: побудова та аналіз алгоритмів; основні абстрактні типи даних; Дерева; основні оператори множин; спеціальні методи представлення множин; орієнтовані графи; неорієнтовані графи; сортування; методи аналізу алгоритмів; методи розробки алгоритмів; структура даних та алгоритми для зовнішньої пам'яті; управління пам'яттю [2].

Сучасне представлення алгоритмів подає програміст та провідний фахівець з Microsoft Visual Basic, викладач курсу програмування в технологічному університеті ITT Р. Стивенс у підручнику «Алгоритмы. Теория и практическое применение». На думку автора вивчення алгоритмів допоможе опанувати різні корисні методи програмної розробки та навчитися вибирати ті з них, що найкращим чином підходять до конкретної ситуації. Адже для вирішення будь-якого завдання можна використовувати різні підходи, але тільки один виявиться ідеальним [15].

Ще однією фундаментальною роботою є підручник тьюрінговского лауреата Н. Вірта [13]. В підручнику опрацьовано основні теми алгорит - міки - сортування і пошук, рекурсія, динамічні структури даних. Всі програми перевірені автором на працездатність, частина прикладів перероблена з метою максимального з'ясування їх логіки. Нотацією прикладів служить компонентний Паскаль - найбільш досконалий нащадок старого Паскаля по прямій лінії. Велика частина матеріалу книги становить необхідний мінімум знань з алгоритмів не лише для програмістів-про - фесіоналів, але і будь-яких інших фахівців, які активно використовують програмування в роботі. Автор додає до посібника вправи для самостійного опрацювання.

Більшість науковців при написані наукових робіт з алгоритмів пройшли апробацію на базі університетів та інших закладів вищої освіти. Так, науковці С. Дасгупта, Х. Пападимитриу, У. Вазирани [4] вивчення алгоритмів подають у вигляді лекцій, які пройшли практичну апробацію в університетах Сан-Дієго та Берклі в процесі підготовки студентів молодших курсів з математичних та комп'ютерних спеціальностей. Автори пропонують розбити весь матеріал на чотири частини, як окремі теми для вивчення. Кожна частина має декілька розділів, які взаємно пов'язані між собою. Без засвоєння попереднього навчального матеріалу неможливе засвоєння інших тем. Перша частина: алгоритми роботи з числами, сортування, пошуку медіани, засновані на прийомі «розділяй і володарюй» та алгоритм швидкого перетворення Фур'є. Друга частина: структурам даних і графи, на зовсім коротких алгоритмах вирішуються досить складні завдання. Частина третя: загальні методи і динамічне програмування, лінійне програмування (симплекс-метод, подвійність, уявлення комбінаторних задач у вигляді задач лінійного програмування. Завершальна частина розглядає алгоритмічно складні завдання (NP-повнота, евристичні алгоритми, квантові обчислення). Автори зауважують, що можна почати вивчати з другого розділу, а перший розглянути пізніше або винести на самостійне засвоєння.

Професори Корнельського університету Д. Клейнберг та Е. Тардос у підручнику «Algorithm design» описали фундаментальні алгоритми на прикладах з повсякдення [66]. Особливістю підручника є опис класу PSPACE, локальний пошук, рівновага Неша (концепція рішення, одне з ключових понять теорії ігор) та вірогідні алгоритми. Виклад основного матеріалу є сучасним та послідовним. У підручнику передбачено вправи для виконання, але автори пропонують на початку виконання завдання розробити математичну модель і тільки після усвідомлення моделі, описати завдання за допомогою словесного алгоритму. У кожному розділі наведено приклади розв'язання вправ та розглянуті проблемні питання із застосування алгоритму в практиці.

Книга-задачник A. Куліков, П. Пувзнер «Learning Algorithms Through Programming and Puzzle Solving» розглядає основні методи розробки алгоритмів: жадібні алгоритми, метод «розділяй і володарюй», сортування, динамічне програмування. По кожній із тем дано кілька завдань - як простих, так і складних, які потрібно здати в систему автоматичної перевірки. Система запускає рішення на десятках ретельно підібраних тестових даних. Перевіряється, алгоритм рішення та знаходить правильний результат, швидкість виконання алгоритму на великих обсягах даних. У підручнику є окрема глава, що обговорює кращі практики реалізації алгоритмів і часті помилки, з прикладами коду на C++ і Python. Розглядається реалізація тестування (стрес-тестування). Відмінна риса книги - інтерактивні головоломки, вони допомагають знайти (пригадати) деякі алгоритмічні ідеї самостійно [1].

Вивченням алгоритмів займався науковець Дж. Макконелл, який свою роботу виклав в навчальному посібнику «Основи сучасних алгоритмів», де представлені найбільш поширеніші алгоритми певного класу задач, що за своїм практичним призначенням охоплюють всю область програмування: пошук та сортування, чисельні алгоритми, алгоритми на графах. Уперше розглянуто новий напрям паралельної обробки даних. Окремий розділ присвячено визначенню оцінки трудомісткості алгоритмів, до кожної теми додаються вправи для самостійного опрацювання. Наведені приклади алгоритмів, написані на псевдокоді з покроковою реалізацією. Посібник містить вправи та задачі для самостійного опрацювання, розв'язання яких подається в додатку [5].

У нестандартній формі з прикладами та цікавими ілюстраціями викладається матеріал книги Адітя Бхаргава [3]. Теоретичний та практичний матеріал є сучасним та близьким по віку та духу читачам. Розділ перший є базовим, в ньому закладаються основні поняття про алгоритми, починаючи з проблеми ефективності сортування даних, автор показує доцільність бінарного пошуку, на ньому ж визначає і клас складності даного алгоритму. Наступний розділ «Сортування вибором» починається з недоліків раніше вивченого методу бінарного пошуку, у ньому покроково виводиться доцільність та ефективність методу сортування вибором та використання зв'язаних списків при розв'язані задач. «Рекурсія», «Швидке сортування», «Хеш-таблиці» - розділи в яких розглянуті рекурсивні алгоритми, алгоритм швидкого сортування з використанням стратегії «розділяй та володій», описано алгоритм застосування на практиці хеш-таблиць. Друга половина книги присвячена принципам динамічного, жадібного програмування, розглянуто практичну реалізацію графів в інформатиці. Останній розділ книги автор присвятив десятьом алгоритмам, які не розглядалися, але дуже часто використовують програмісти в процесі професійній діяльності. Треба зазначити, що для більшої наочності кожен алгоритм написано на мові програмування С++. Для закріплення отриманих навичок з алгоритмізації кожний розділ закінчується завданнями (вправами для самостійного виконання), наприкінці розділів додані відповіді.

Нами також було розглянуто літературні джерела українських науковців провідних університетів та інститутів України. Є. Мелешко, М. Якименко, Л. Поліщук у навчальному посібнику «Алгоритми та структури даних» [12] розглядають основні алгоритми сортування, пошуку даних, роботи з графами, деревами та хеш-таблицями, а також алгоритми роботи клітинних автоматів. Для кожного алгоритму наведено опис на псевдокоді та графічне пояснення. Посібник розрахований на студентів, що навчаються на технічних спеціальностях, пов'язаних зі створенням програмного забезпечення.

Н. Стратієнко, М. Годлевський, І. Бородіна підручник «Алгоритми і структури даних» [16], пропонує вивчення теоретичного матеріалу з алгоритмів (базові структури даних, математичні основи теорії алгоритмів, алгоритмічні стратегії, алгоритми сортування, машина Тюрінга, генератори псевдовипадкових чисел, основні алгоритми на графах і геометричні алгоритми) та сім завдань для лабораторного практикуму і курсового проектування, тести, завдання для самоконтролю.

Підручник В. Ткачук «Алгоритми i структура даних» [17] призначений для студентів, що навчаються за спеціальністю 123 «Програмна інженерія» та вивчають сучасні інформаційні технології в рамках дисципліни «Алгоритми та структура даних», пропонує вивчення алгоритмів в такій послідовності: прості, статичні, динамічні структури даних, дерева, графи і тільки після вивчення структур даних вводити поняття алгоритму його властивостей, запису. Наступний блок - це алгоритми сортування та пошуку.

Слід відзначити подання матеріалу в роботі Т.О. Коротєєва: вивчення алгоритмів починається з термінології та класифікації алгоритмів, після викладення теоретичного матеріалу автор додає тестові питання та вправи для закріплення [10]. Наступною темою є організація даних, автор за допомогою графічних прикладів та програм, написаних на мові програмування С, описує алгоритми. Для більшого розуміння програм, написаних на С, кожний рядок програми пояснюється коментарем. Фрагменти коду є завершеними, можуть використовуватись студентами під час виконання лабораторних робіт. Після вивчення основних понять автор пропонує розглянути лінійні структури даних (стек, черга, дек), масиви та лінійні списки. Наступними темами для вивчення, складність алгоритмів та методи сортування та пошуку. Друга частина призначена вивченню мови програмування C++, Т Коротєєва. показує різницю реалізації класичних алгоритмів на мові програмування С та С++. В мові програмування С++ застосовуються послідовні, асоціативні, похідні контейнери у складі стандартних бібліотек шаблонів. Даний навчальний посібник можна використовувати не тільки в процесі вивчення дисципліни «Алгоритми та структура даних», а й мови програмування С++. Посібник рекомендований для здобувачів вищої освіти, які навчаються за напрямом підготовки «Комп'ютерні науки» та «Програмна інженерія» [10].

На думку науковця І. Красикова, знання алгоритмів є не менш важливим ніж знання мов програмування, для спеціаліста в галузі ІТ-сфери. В своїй роботі автор розкрив такі поняття: сортування, роботу с графами, чисельні методи, робота з календарем, матриці, комбінаторні алгоритми. Для закріплення знань з мови програмування всі приклади задач наведено на С++[11].

Підручник С. Окулова «Программирование в алгоритмах» [14] представлено у вигляді навчального курсу для вчителів та учнів з поглибленим вивченням інформатики, здобувачів вищої освіти, які вивчають програмування, де розглядаються алгоритми, зокрема: комбінаторні алгоритми, перебір, алгоритми на графах, алгоритми обчислювальної геометрії. Особливістю згаданої роботи є олімпіадні задачі з програмування, всі задачі розв'язані на мові програмування С++.

Висновки. Результати контент-аналізу дали підстави зробити висновок, що наразі існує достатня кількість як фундаментальних робіт, так і навчальних посібників, у яких розглядаються методи побудови, аналіз ефективності алгоритмів, які дають можливість сформувати в майбутніх інженерів-програмістів здатності до застосування найбільш затребуваних алгоритмів у своїй професійній діяльно сті. Подання матеріалу в усіх розглянутих роботах супроводжується прикладами коду (псевдокод або сучасні мови програмування), що є необхідним для ефективного вивчення алгоритмів. Джерела [15; 3; 10; 1], автори яких наводять приклади розв'язання алгоритмів на мові програмування С++ без достатнього коментаря, на нашу думку, є недоцільними та потребують більшого роз'яснення, оскільки дисципліна «Алгоритми та структура даних» здебільшого вивчається на першому курсі, коли у здобувачів вищої освіти ще немає потрібного рівня знань із програмування, зокрема на С++, доцільно було б наводити приклади на псевдокоді або за допомогою блок-схем.

Література

1. Alexander S. Kulikov and Pavel Pevzner Learning Algorithms Through Programming and Puzzle. Solving Active Learning Technologies. New York: Leanpub, 2018. 138 с.

2. Ахо, Альфред, В., Хопкрофт, Джон, Ульман, Джеффри, Д. Структуры данных и алгоритмы. Москва: Вильяме, 2001. 384 с.

3. Бхаргава А. Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих. Санкт-Петербург: Питер, 2017. 288 с.

4. Дасгупта С, Пападимитриу Х., Вазирани С. Алгоритмы / пер. с англ. А. Шеня. Москва: МЦНМО, 2014. 320 с.

5. Дж. Макконнелл Основы современных алгоритмов. Москва: Техносфера, 2004. 368 с.

6. Клейнберг Дж., Тардос Е. Алгоритмы: разработка и применение. Классика Computers Science / пер. с англ. Е. Матвеева. Санкт-Петербург: Питер, 2016. 800 с.

7. Кнут Д. Искусство программирования для ЭВМ, т. 1. Основные алгоритмы. Санкт-Петербург: Вильямс, 2000. 720 с.

8. Кнут Д. Искусство программирования для ЭВМ, т. 2. Получисленные алгоритмы. Санкт-Петербург: Вильямс, 2000. 800 с.

9. Кнут Д. Искусство программирования для ЭВМ, т. 3. Сортировка и поиск. Санкт-Петербург: Вильямс, 2000. 650 с.

10. Коротєєва ТО. Алгоритми та структури даних. Навчальний посібник. Львів: Видавництво Львівської політехніки, 2014. 280 с.

11. Красиков И., Красикова И. Алгоритмы. Просто как дважды. Москва: Эксмо, 2007. 256 с.

12. Мелешко Є.В., Якименко М.С., Поліщук Л.І. М Алгоритми та структури даних: навч. посіб. Кропивницький: «Лисенко В.Ф.», 2019. 156 с.

13. Вирт Н. Алгоритмы и структуры данных. Москва: Мир, 1989. 360 с.

14. Окулов С.М. Программирование в алгоритмах. Москва: БИНОМ. Лаборатория знаний, 2002. 341 с.

15. Стивенс Род. Алгоритмы. Теория и практическое применение. Москва: Издательство «Э», 2016. 544 с.

16. Стратієнко Н.К., Годлевський М.Д., Бородіна І.О. Алгоритми і структури даних: практикум: навч. посіб. Харків: НТУ «ХПІ», 2017. 224 с.

17. Ткачук В.М. Алгоритми i структура даних: навч. посі6. Івано-Франківськ: Видавництво Прикарпатського національного університету імені Василя Стефаника, 2016. 286 с.

References

1. Alexander S. Kulikov and Pavel Pevzner (2018) Vyvchennja alghorytmiv cherez proghramuvannja ta gholovolomky. Rozv'jazuvannja tekhnologhij aktyvnogho navchannja [Learning Algorithms Through Programming and Puzzle. Solving Active Learning Technologies]. New York: Leanpub. 136 p. [in Ukrainian]

2. Aho, Alfred, W., Hopcroft, John, Ullman, Jeffrey, D. (2001) Struktury danykh ta alghorytmy [Data structures and algorithms]. Moscow: William. 384 p. [in Russian]

3. Bhargava A. (2017) Ghrokaem alghorytmy [Roaring Algorithms An illustrated guide for programmers and the curious]. St. Petersburg: Peter. 288 p. [in Russian]

4. Dasgupta S, Papadimitriou H., Vazirani S. (2014) Alghorytm [Algorithms]. Moscow: ICNMO. 320 p. [in Russian]

5. J. McConnell (2004) Osnovy suchasnykh alghorytmiv [Fundamentals of modern algorithms] Moscow: Technosphere. 368 p. [in Ukrainian]

6. Kleinberg J., Tardos E. (2016) Alghorytmy: rozrobka ta zastosuvannja [Algorithms: development and application]. St. Petersburg: Peter. 800 p. [in Ukrainian]

7. Knut D. (2000) Mystectvo proghramuvannja dlja EOM, t. 1. Osnovni alghorytmy [The art of computer programming, vol. 1. Basic algorithms]. St. Petersburg: Williams. 720 p. [in Ukrainian]

8. Knut D. (2000) Mystectvo proghramuvannja dlja EOM, t. 2. Poluchyseljni alghorytmy [The art of computer programming, vol. 2. The resulting algorithms]. St. Petersburg: Williams. 800 p. [in Ukrainian]

9. Knut D. (2000) Mystectvo proghramuvannja dlja EOM, t. 3. Sortuvannja ta poshuk [The art of computer programming, vol. 3. Sorting and search]. St. Petersburg: Williams. 650 p. [in Ukrainian]

10. Koroteeva T.O. (2014) Alghorytmy ta struktury danykh: navchaljnyj posibnyk [Algorithms and data structures: textbook]. Lviv: Lviv Polytechnic Publishing House. 280 p. [in Ukrainian]

11. Krasikov I., Krasikova I. (2007) Alghorytmy. Prosto jak dvichi [Algorithms. Just like twice]. Moscow: Exmo. 256 p. [in Ukrainian]

12. Meleshko E.V., Yakimenko M.S., Polishchuk L.I. (2019) Alghorytmy ta struktury danykh: navch. posib [Algorithms and data structures: textbook]. way. Kropyvnytsky: «Lysenko VF». 156 p. [in Ukrainian]

13. Wirth N. (1989). Alghorytmy ta struktury danykh [Algorithms and data structures]. Moscow: Mir. 360 p. [in Ukrainian]

14. Okulov S.M. (2002) Proghramuvannja alghorytmakh [Programming in algorithms]. Moscow: BINOM. Knowledge laboratory. 341 p. [in Ukrainian]

15. Stevens Rod. (2016) Alghorytmy. Teorija ta praktychne zastosuvannja [Algorithms. Theory and practical application]. Moscow: E Publishing House. 544 p. [in Ukrainian]

16. Stratienko N.K., Godlevsky M.D., Borodina I.O. (2017) Alghorytmy ta struktury danykh: praktykum, navch. posib [Algorithms and data structures: workshop, textbook]. Kharkiv: NTU «KhPI». 224 p. [in Ukrainian]

17. Tkachuk V.M. (2016) Alghorytmy i struktura danykh: navch. posib. [Algorithms and data structure: textbook]. Ivano Frankivsk: Vasyl Stefanyk Precarpathian National University Publishing House. 286 p. [in Ukrainian]

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.