summaryrefslogtreecommitdiff
path: root/reports/lab2/lab2.tex
diff options
context:
space:
mode:
authorAndrew Guschin <guschin.drew@gmail.com>2022-05-19 14:12:12 +0400
committerAndrew Guschin <guschin.drew@gmail.com>2022-05-19 14:12:12 +0400
commitbc6fa2f8d7967acd859c0f660cad81199e53b0fb (patch)
tree1cc2c59f70ed45073500e705cdd1dd8925450132 /reports/lab2/lab2.tex
parentda81a8f76f56a6b21dda16c8df5f1df5f9b962a3 (diff)
Добавление отчётов по первым трём лабам
Diffstat (limited to 'reports/lab2/lab2.tex')
-rw-r--r--reports/lab2/lab2.tex34
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}