\documentclass[a4paper,11pt]{article} \usepackage[margin=1in]{geometry} \usepackage{amsmath} \usepackage{listings} \author{James Moreau, 1065510, jmorea03@uoguelph.ca} \begin{document} \title{CIS 3490 Assigment 3 - String Matching Algorithm} \maketitle \section{Instructions} to run my programs, simply type "make", and execute the individual output files (no commandline arguments needed). \section{Patterns} Here are the patterns I will be using to analyze the efficiency of each algorithm. \begin{enumerate} \item University \item carry \item gender \item computer \item name \item item \item activity \item campus \item grow \item mark \end{enumerate} \paragraph{Performance Ratio} \begin{align*} Performance \: Ratio &= \frac{Number \: of \: Shifts}{Runtime}\\ \end{align*} \section{Results} \subsection{P21} \begin{enumerate} \item 21,818.85 \item 37,961.69 \item 32,121.30 \item 26,512.77 \item 40,735.80 \item 41,757.93 \item 27,381.75 \item 33,740.51 \item 42,286.44 \item 45,761.27 \end{enumerate} Average is 27,405.20 shifts per millisecond \subsection{P22} \begin{enumerate} \item 28,968.8 \item 39,987.11 \item 35,448.55 \item 33,556.53 \item 38,683 \item 40,838.17 \item 27,952.82 \item 37,252 \item 44,900.3 \item 42,877.90 \end{enumerate} Average is 37,046.51 shifts per millisecond \section{Conclusion} From the analysis, we can see that the horspool algorithm which take advantage of a precomputed table to determine how far it can shift at each iteration performs significantly better than the naive method. \end{document}