diff --git a/Schrick-Noah_Project-Writeup.aux b/Schrick-Noah_Project-Writeup.aux new file mode 100644 index 0000000..9c5cbfd --- /dev/null +++ b/Schrick-Noah_Project-Writeup.aux @@ -0,0 +1,29 @@ +\relax +\@writefile{toc}{\contentsline {section}{\numberline {1}Problem Introduction}{2}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {2}Program Platform and Submission Files}{2}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {3}Programming Approach}{3}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Node Class}{3}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Red-Black Tree Class}{3}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Constructing the Problem}{3}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2}Generating the Solution}{3}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3}Printing the solution}{3}{}\protected@file@percent } +\newlabel{sec:print}{{3.2.3}{3}} +\@writefile{toc}{\contentsline {section}{\numberline {4}Results}{3}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Part 1.B: ``Tree 1"}{3}{}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Part 1.B: Initial Tree After Key Insertions}}{3}{}\protected@file@percent } +\newlabel{fig:b_init}{{1}{3}} +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Part 1.B: Tree After Deleting Key 12}}{4}{}\protected@file@percent } +\newlabel{fig:b_12}{{2}{4}} +\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Part 1.B: Tree After Inserting Key 32}}{4}{}\protected@file@percent } +\newlabel{fig:b_32}{{3}{4}} +\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Part 1.B: Tree After Deleting Key 41}}{5}{}\protected@file@percent } +\newlabel{fig:b_41}{{4}{5}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Part 1.C: ``Tree 2"}{5}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5}Part 2: Red-Black Discussion}{5}{}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Part 1.C: Initial Tree After Key Insertions}}{6}{}\protected@file@percent } +\newlabel{fig:b_init}{{5}{6}} +\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Part 1.C: Tree After Deleting Key 127}}{7}{}\protected@file@percent } +\newlabel{fig:c_127}{{6}{7}} +\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Part 1.C: Tree After Deleting Key 221}}{8}{}\protected@file@percent } +\newlabel{fig:c_221}{{7}{8}} +\gdef \@abspage@last{8} diff --git a/Schrick-Noah_Project-Writeup.log b/Schrick-Noah_Project-Writeup.log new file mode 100644 index 0000000..ef5a1c9 --- /dev/null +++ b/Schrick-Noah_Project-Writeup.log @@ -0,0 +1,206 @@ +This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.4.17) 20 APR 2022 19:19 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**Schrick-Noah_Project-Writeup +(./Schrick-Noah_Project-Writeup.tex +LaTeX2e <2021-11-15> patch level 1 +L3 programming layer <2022-02-24> +(/usr/share/texmf-dist/tex/latex/base/article.cls +Document Class: article 2021/10/04 v1.4n Standard LaTeX document class +(/usr/share/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2021/10/04 v1.4n Standard LaTeX file (size option) +) +\c@part=\count185 +\c@section=\count186 +\c@subsection=\count187 +\c@subsubsection=\count188 +\c@paragraph=\count189 +\c@subparagraph=\count190 +\c@figure=\count191 +\c@table=\count192 +\abovecaptionskip=\skip47 +\belowcaptionskip=\skip48 +\bibindent=\dimen138 +) +(/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks16 +) +(/usr/share/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2021/08/11 v1.11 sin cos tan (DPC) +) +(/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 107. + +(/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def +File: pdftex.def 2020/10/05 v1.2a Graphics/color driver for pdftex +)) +\Gin@req@height=\dimen139 +\Gin@req@width=\dimen140 +) +(/usr/share/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2021/02/14 v1.3d Input encoding file +\inpenc@prehook=\toks17 +\inpenc@posthook=\toks18 +) +(/usr/share/texmf-dist/tex/latex/float/float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count193 +\float@exts=\toks19 +\float@box=\box50 +\@float@everytoks=\toks20 +\@floatcapt=\box51 +) +(/usr/share/texmf-dist/tex/latex/tools/indentfirst.sty +Package: indentfirst 1995/11/23 v1.03 Indent first paragraph (DPC) +) +(/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def +File: l3backend-pdftex.def 2022-02-07 L3 backend support: PDF output (pdfTeX) +\l__color_backend_stack_int=\count194 +\l__pdf_internal_box=\box52 +) +(./Schrick-Noah_Project-Writeup.aux + +LaTeX Warning: Label `fig:b_init' multiply defined. + +) +\openout1 = `Schrick-Noah_Project-Writeup.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 13. +LaTeX Font Info: ... okay on input line 13. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 13. +LaTeX Font Info: ... okay on input line 13. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 13. +LaTeX Font Info: ... okay on input line 13. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 13. +LaTeX Font Info: ... okay on input line 13. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 13. +LaTeX Font Info: ... okay on input line 13. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 13. +LaTeX Font Info: ... okay on input line 13. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 13. +LaTeX Font Info: ... okay on input line 13. + (/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count195 +\scratchdimen=\dimen141 +\scratchbox=\box53 +\nofMPsegments=\count196 +\nofMParguments=\count197 +\everyMPshowfont=\toks21 +\MPscratchCnt=\count198 +\MPscratchDim=\dimen142 +\MPnumerator=\count199 +\makeMPintoPDFobject=\count266 +\everyMPtoPDFconversion=\toks22 +) (/usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty +Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf +Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4 +85. + +(/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 15. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 15. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 15. + +(./Schrick-Noah_Project-Writeup.toc +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <7> on input line 4. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <5> on input line 4. +) +\tf@toc=\write3 +\openout3 = `Schrick-Noah_Project-Writeup.toc'. + + [1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] +<./images/b_init_tree.png, id=11, 441.65pt x 241.90375pt> +File: ./images/b_init_tree.png Graphic file (type png) + +Package pdftex.def Info: ./images/b_init_tree.png used on input line 64. +(pdftex.def) Requested size: 345.0pt x 188.97575pt. + [2] +<./images/b_del_12.png, id=16, 230.8625pt x 179.67125pt> +File: ./images/b_del_12.png Graphic file (type png) + +Package pdftex.def Info: ./images/b_del_12.png used on input line 72. +(pdftex.def) Requested size: 230.86192pt x 179.67079pt. +<./images/b_ins_32.png, id=17, 268.00125pt x 193.72375pt> +File: ./images/b_ins_32.png Graphic file (type png) + +Package pdftex.def Info: ./images/b_ins_32.png used on input line 80. +(pdftex.def) Requested size: 268.00058pt x 193.72327pt. +<./images/b_del_41.png, id=18, 276.03125pt x 173.64874pt> +File: ./images/b_del_41.png Graphic file (type png) + +Package pdftex.def Info: ./images/b_del_41.png used on input line 88. +(pdftex.def) Requested size: 276.03056pt x 173.64832pt. +<./images/c_init_tree.png, id=19, 410.53375pt x 654.445pt> +File: ./images/c_init_tree.png Graphic file (type png) + +Package pdftex.def Info: ./images/c_init_tree.png used on input line 96. +(pdftex.def) Requested size: 345.0pt x 549.96973pt. + + +LaTeX Warning: Float too large for page by 50.36794pt on input line 100. + +<./images/c_del_127.png, id=20, 392.46625pt x 637.38126pt> +File: ./images/c_del_127.png Graphic file (type png) + +Package pdftex.def Info: ./images/c_del_127.png used on input line 103. +(pdftex.def) Requested size: 345.0pt x 560.33316pt. + +LaTeX Warning: Float too large for page by 60.73137pt on input line 107. + +<./images/c_del_221.png, id=21, 374.39874pt x 611.28375pt> +File: ./images/c_del_221.png Graphic file (type png) + +Package pdftex.def Info: ./images/c_del_221.png used on input line 110. +(pdftex.def) Requested size: 345.0pt x 563.3113pt. + +LaTeX Warning: Float too large for page by 63.7095pt on input line 114. + +[3 <./images/b_init_tree.png>] [4 <./images/b_del_12.png> <./images/b_ins_32.pn +g>] [5 <./images/b_del_41.png>] [6 <./images/c_init_tree.png>] [7 <./images/c_d +el_127.png>] [8 <./images/c_del_221.png>] (./Schrick-Noah_Project-Writeup.aux) + +LaTeX Warning: There were multiply-defined labels. + + ) +Here is how much of TeX's memory you used: + 1480 strings out of 478276 + 25161 string characters out of 5853013 + 317990 words of memory out of 5000000 + 19701 multiletter control sequences out of 15000+600000 + 473849 words of font info for 43 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 55i,6n,62p,229b,233s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc} +Output written on Schrick-Noah_Project-Writeup.pdf (8 pages, 167396 bytes). +PDF statistics: + 69 PDF objects out of 1000 (max. 8388607) + 39 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 36 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/Schrick-Noah_Project-Writeup.pdf b/Schrick-Noah_Project-Writeup.pdf new file mode 100644 index 0000000..4a3f860 Binary files /dev/null and b/Schrick-Noah_Project-Writeup.pdf differ diff --git a/Schrick-Noah_Project-Writeup.tex b/Schrick-Noah_Project-Writeup.tex new file mode 100644 index 0000000..deb8698 --- /dev/null +++ b/Schrick-Noah_Project-Writeup.tex @@ -0,0 +1,118 @@ +\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} \ No newline at end of file diff --git a/Schrick-Noah_Project-Writeup.toc b/Schrick-Noah_Project-Writeup.toc new file mode 100644 index 0000000..809df46 --- /dev/null +++ b/Schrick-Noah_Project-Writeup.toc @@ -0,0 +1,12 @@ +\contentsline {section}{\numberline {1}Problem Introduction}{2}{}% +\contentsline {section}{\numberline {2}Program Platform and Submission Files}{2}{}% +\contentsline {section}{\numberline {3}Programming Approach}{3}{}% +\contentsline {subsection}{\numberline {3.1}Node Class}{3}{}% +\contentsline {subsection}{\numberline {3.2}Red-Black Tree Class}{3}{}% +\contentsline {subsubsection}{\numberline {3.2.1}Constructing the Problem}{3}{}% +\contentsline {subsubsection}{\numberline {3.2.2}Generating the Solution}{3}{}% +\contentsline {subsubsection}{\numberline {3.2.3}Printing the solution}{3}{}% +\contentsline {section}{\numberline {4}Results}{3}{}% +\contentsline {subsection}{\numberline {4.1}Part 1.B: ``Tree 1"}{3}{}% +\contentsline {subsection}{\numberline {4.2}Part 1.C: ``Tree 2"}{5}{}% +\contentsline {section}{\numberline {5}Part 2: Red-Black Discussion}{5}{}% diff --git a/images/b_del_12.png b/images/b_del_12.png new file mode 100644 index 0000000..939483b Binary files /dev/null and b/images/b_del_12.png differ diff --git a/images/b_del_41.png b/images/b_del_41.png new file mode 100644 index 0000000..0a628ba Binary files /dev/null and b/images/b_del_41.png differ diff --git a/images/b_init_tree.png b/images/b_init_tree.png new file mode 100644 index 0000000..d3ac492 Binary files /dev/null and b/images/b_init_tree.png differ diff --git a/images/b_ins_32.png b/images/b_ins_32.png new file mode 100644 index 0000000..d81dc99 Binary files /dev/null and b/images/b_ins_32.png differ diff --git a/images/c_del_127.png b/images/c_del_127.png new file mode 100644 index 0000000..7527a37 Binary files /dev/null and b/images/c_del_127.png differ diff --git a/images/c_del_221.png b/images/c_del_221.png new file mode 100644 index 0000000..330b0c7 Binary files /dev/null and b/images/c_del_221.png differ diff --git a/images/c_init_tree.png b/images/c_init_tree.png new file mode 100644 index 0000000..ebf71bc Binary files /dev/null and b/images/c_init_tree.png differ