Latex 算法标准

Latex 算法标准

代码是什么样的[1]

我已经为自己编写的一些伪代码编写了一些乳胶代码,其用途如下:

\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}

我想知道乳胶中的算法是否有一个标准,或者只是一般的算法?

我应该使用平方根还是 sqrt (state),我是否应该通过state[i]使用分数还是仅使用除法符号来访问数组项?

以下是代码:

\makeatletter
    \def\BState{\State\hskip-\ALG@thistlm}
    \makeatother
    %this changes the style of the comments 

    \begin{algorithm}
        \caption{Manhattan Distance}\label{euclid}
        \begin{algorithmic}[1]
            \Procedure{ManDist}{$state$}    \Comment{The current puzzle configuration }
            \State$total\gets 0$
            \State$puzzleLength\gets sizeOf(state)$
            \State$dimensions\gets \sqrt{puzzleLength}$
            \For{$i\gets 1, puzzleLength$}  \Comment{Loops through each tile of the puzzle}
                \State $tileValue\gets state[i]$
                \State $expectedRow\gets \dfrac{(tileValue -1)}{dimensions}$
                \State $expectedCol\gets (tileValue -1)\bmod dimensions$
                \State $rowNum \gets \dfrac{i}{dimensions}$
                \State $rowNum\gets i \bmod dimensions$
                \State $total\gets total \texttt{+} \mid{expectedRow-rowNum}\mid\texttt{+}\mid{expectedCol-colNum}\mid$
            \EndFor
            \State \textbf{return} $total$\Comment{The heuristic is the total}
            \EndProcedure
        \end{algorithmic}
    \end{algorithm}

相关内容