Математична логіка, теорія алгоритмів та структури даних - Татарінова, Оксана Андріївна; Андрєєв, Юрій Михайлович (Національний технічний університет "Харківський політехнічний інститут", 2023)
Методичні вказівки передбачено до використання, насамперед, студентами спеціальності 122 "Комп'ютерні науки" у рамках курсу "Математична логіка, теорія алгоритмів та структури даних". Основна спрямованість курсу пов’язана з необхідністю познайомити студентів з базовими для спеціалістів алгоритмами Краскала та Прима – визначення із заданого графа остовних дерев, Дейкстри – визначення із заданого графа найкоротших шляхів, теоретичними та експериментальними методами оцінки складності алгоритмів, навиками програмування простіших контейнерів даних – лінійного списку, стеку, черги, познайомитись з логікою та реалізацією основних методів сортування масивів даних та методами пошуку. Увага студентів приділяється до написання програм завдань лабораторного практикуму на базі використання покажчиків, ланцюгових списків як альтернативі масивів даних та інших структур даних. Основною вимогою тут є кодування програм на мові C++ у рамках сучасних середовищ, наприклад, Microsoft Visual С++, Embarcadero® C++Builder. В першому розділі методичних вказівок розібрано питання програмування ланцюгових списків. В другому, третьому та четвертому розділах розібрано, як можна використати отриманий програмний інструментарій для розв’язання задач реалізації алгоритмів Краскала, Прима і Дейкстри. Причому при викладанні цих матеріалів з початку докладно розглядаються компоненти програмного коду, а потім все більш фрагментарно, даючи студентам все більше простору для творчості. Подальші розділи потребують від студентів вже повністю самостійно розв'язувати задачі програмування індивідуальних завдань, що їм видаються. В кожному розділі розглядаються необхідні теоретичні положення, даються приклади розв’язання відповідних задач і рекомендації до програмування.
Keywords: логіка; теорія алгоритмів; ланцюгові списки; програмний код; програмування; методичні вказівки; алгоритм Краскала; лінійний список