第十章 算法

算法是论文中重要的组成部分之一。本文使用algorithm和algorithm2e包展示了if-else分支,for分支和while分支的例子以及源代码。LaTeX环境下还有其他的算法包, 它们的使用方法类似,可参考相关的文档。
算法只能单栏显示,其长度尽量不要超过页面的长度,否则,会造成一些论文排版的麻烦。算法一般由序号,标题和算法主体组成。算法序号用于在论文中唯一标识某算法。算法标题说明了算法的用途。算法主体则是表达了算法的逻辑。

9.1. algorithm包

9.1.1. IF-ELSE条件分支

图 1. algorithm包的IF-ELSE条件分支。
\begin{algorithm}[h!]
\caption{max($a$, $b$)}
\begin{algorithmic}[1]
\If {$a$ > $b$}
\State \Return $a$;
\Else
\State \Return $b$;
\EndIf
\end{algorithmic}
\end{algorithm}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

9.1.2. FOR循环

图 2. algorithm包的FOR循环。
\begin{algorithm}[h!]
\caption{max($Q$)}
\begin{algorithmic}[1]
\State $m$ = $Q[0]$;
\For { $q \in Q$ }
\If { $m$ < $q$ }
\State $m$ = $q$;
\Else
\State Continue;
\EndIf
\EndFor
\State \Return $m$;
\end{algorithmic}
\end{algorithm}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

9.1.3. WHILE循环

图 3. algorithm包的WHILE循环。
\begin{algorithm}[h!]
\caption{max($Q$)}
\begin{algorithmic}[1]
\State $m$ = $Q[0]$;
\State $i$ = getIterator($Q$);
\While {$i$.hasNext()}
\State $t$ = $i$.next();
\If {$m$ < $t$}
\State $m$ = $t$;
\EndIf
\EndWhile
\State \Return $m$;
\end{algorithmic}
\end{algorithm}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

9.2. algorithm2e包

9.2.1. IF-ELSE条件分支

图 4. algorithm2e包的IF-ELSE条件分支。
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
...
\begin{algorithm}
\DontPrintSemicolon
\KwIn{Two integers $a$ and $b$}
\KwOut{The greater integer}
\If{$a > b$} {
\Return{$a$};
}
\Else{
\Return{$b$};
}
\caption{{\sc Max} finds the greater number}
\end{algorithm}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

9.2.2. FOR循环

图 5. algorithm2e包的FOR循环。
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

9.2.3. WHILE循环

图 6. algorithm2e包的WHILE循环。
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
...
\begin{algorithm}
\DontPrintSemicolon
\KwIn{A set $Q={q_1, \ldots, q_n}$ of integers}
\KwOut{The greatest integer}
$m \gets Q[0]$;
\While{$q \in Q$} {
\If{$m < q$} {
$m \gets q$;
}
\Else{
Continue;
}
}
\Return{$m$};
\caption{{\sc Max} finds the greater number}
\end{algorithm}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
上一章
下一章

注册用户登陆后可留言

Copyright  2019 Little Waterdrop, LLC. All Rights Reserved.