Red-Black_Tree/Schrick-Noah_Project-Writeup.tex

118 lines
3.4 KiB
TeX

\documentclass{article}
\usepackage{graphicx}
\graphicspath{ {./images/} }
\usepackage[utf8]{inputenc}
\usepackage{float}
\usepackage{indentfirst}
\setlength{\parskip}{\baselineskip}%
\title{CS 7353: Analysis of Algorithms Project: Red-Black Tree}
\author{Noah Schrick}
\date{April 21, 2022}
\begin{document}
\maketitle
\tableofcontents
\section{Problem Introduction}
\section{Program Platform and Submission Files}
This problem was solved using C++ on a Linux system.
Attached with the submission is a zip folder that contains:
\begin{itemize}
\item{A CMakeLists.txt file for compiling}
\item{An "images" folder that contains:}
\begin{enumerate}
\item{Various images included in this report}
\end{enumerate}
\item{A "src" folder that contains:}
\begin{enumerate}
\item{A Node.cpp and Node.h file for the Node class and associated functions}
\item{A Red-Black.cpp and Red-Black.h file for the Red-Black Tree class and
associated functions}
\item{The main file}
\end{enumerate}
\item{A "build" folder that contains:}
\begin{enumerate}
\item{A build.sh script to simplify the build process}
\item{A run.sh script to simplify running the program}
\item{Various CMake files}
\item{The compiled binaries for the program and associated libraries}
\end{enumerate}
\item{Various LaTeX files used in the generation of this report.}
\end{itemize}
This program offers no guarantee of functionality on other Operating Systems. Testing was only conducted on the local Linux machine.
\section{Programming Approach}
\subsection{Node Class}
\subsection{Red-Black Tree Class}
\subsubsection{Constructing the Problem}
\subsubsection{Generating the Solution}
\subsubsection{Printing the solution} \label{sec:print}
\section{Results}
\subsection{Part 1.B: ``Tree 1"}
\begin{figure}[htp]
\centering
\includegraphics[width=\linewidth]{"./images/b_init_tree.png"}
\vspace{.2truein} \centerline{}
\caption{Part 1.B: Initial Tree After Key Insertions}
\label{fig:b_init}
\end{figure}
\begin{figure}[htp]
\centering
\includegraphics{"./images/b_del_12.png"}
\vspace{.2truein} \centerline{}
\caption{Part 1.B: Tree After Deleting Key 12}
\label{fig:b_12}
\end{figure}
\begin{figure}[htp]
\centering
\includegraphics{"./images/b_ins_32.png"}
\vspace{.2truein} \centerline{}
\caption{Part 1.B: Tree After Inserting Key 32}
\label{fig:b_32}
\end{figure}
\begin{figure}[htp]
\centering
\includegraphics{"./images/b_del_41.png"}
\vspace{.2truein} \centerline{}
\caption{Part 1.B: Tree After Deleting Key 41}
\label{fig:b_41}
\end{figure}
\subsection{Part 1.C: ``Tree 2"}
\begin{figure}[htp]
\includegraphics[width=\linewidth]{"./images/c_init_tree.png"}
\vspace{.2truein} \centerline{}
\caption{Part 1.C: Initial Tree After Key Insertions}
\label{fig:b_init}
\end{figure}
\begin{figure}[htp]
\includegraphics[width=\linewidth]{"./images/c_del_127.png"}
\vspace{.2truein} \centerline{}
\caption{Part 1.C: Tree After Deleting Key 127}
\label{fig:c_127}
\end{figure}
\begin{figure}[htp]
\includegraphics[width=\linewidth]{"./images/c_del_221.png"}
\vspace{.2truein} \centerline{}
\caption{Part 1.C: Tree After Deleting Key 221}
\label{fig:c_221}
\end{figure}
\section{Part 2: Red-Black Discussion}
\end{document}