diff options
| author | Andrew Guschin <guschin.drew@gmail.com> | 2022-05-19 14:12:12 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin.drew@gmail.com> | 2022-05-19 14:12:12 +0400 |
| commit | bc6fa2f8d7967acd859c0f660cad81199e53b0fb (patch) | |
| tree | 1cc2c59f70ed45073500e705cdd1dd8925450132 /reports/lab2/lab2.tex | |
| parent | da81a8f76f56a6b21dda16c8df5f1df5f9b962a3 (diff) | |
Добавление отчётов по первым трём лабам
Diffstat (limited to 'reports/lab2/lab2.tex')
| -rw-r--r-- | reports/lab2/lab2.tex | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/reports/lab2/lab2.tex b/reports/lab2/lab2.tex new file mode 100644 index 0000000..61b70aa --- /dev/null +++ b/reports/lab2/lab2.tex @@ -0,0 +1,34 @@ +\documentclass[spec, och, labwork]{SCWorks} +\usepackage{preamble} + +\begin{document} +\include{titlepage.tex} + +\section*{Описание работы алгоритма} + +В качестве рекурсивного алгоритма будет рассмотрена задача о ходе коня "--- +задача о нахождении маршрута шахматного коня, проходящего через все поля доски +по одному разу. + +Алгоритм нахождения данного пути можно описать следующим образом: +\begin{enumerate} + \item Пометить текущую клетку; + \item Если все клетки помечены, то закончить алгоритм, иначе перейти к шагу 3; + \item + Перейти в одну из возможных не помеченных клеток. Если невозможно + совершить ни один ход, то снять метку с текущей клетки, вернуться в + предыдущую клетку и перейти к шагу 1. +\end{enumerate} + +\subsection*{Оценка сложности} + +Так как из заданной клетки конь может перейти в 2-8 клеток, из которой он в +свою очередь так же может перейти в 2-7 других клеток и т.д. Такой путь +состоит из $n^2$ клеток. При этом доска также состоит из $n^2$ клеток. +Таким образом, сложность данного алгоритма составляет $O(n^{2n^2})$ + +\subsection*{Реализация на языке C++} + +\inputminted[fontsize=\small, breaklines=true, style=bw, linenos]{c}{../../knights-tour.cpp} + +\end{document} |