我想在 latex 中编写此算法(递归),但我不知道该怎么做。我已附上算法的图片。请帮我编写代码。我正在使用 algorithm2e 包。谢谢!!
答案1
这里没有什么特别的。您可以做类似这样的事情(注意使用\SetKwFunction
来声明一个函数):
\documentclass{article}
\usepackage[linesnumbered,noline,noend]{algorithm2e}
\usepackage{amsmath}
\SetNlSty{}{}{}
\let\oldnl\nl% Store \nl in \oldnl
\newcommand\nonl{%
\renewcommand{\nl}{\let\nl\oldnl}}% Remove line number for one line
\begin{document}
\begin{algorithm}
\SetKwFunction{printlcs}{\textsc{Print}-LCS}
\Indm\nonl\printlcs{$b,X,i,j$}\\
\Indp
\If{$i=0$ or $j=0$}{\KwRet{}}
\If{$b[i,j]=\text{``}\nwarrow\hspace{-3pt}\text{''}$}{
\printlcs{$b,X,i-1,j-1$}\\
print $x_i$
}
\ElseIf{$b[i,j]=\text{``}\uparrow\hspace{-3pt}\text{''}$}{
\printlcs{$b,X,i-1,j$}
}
\Else{\printlcs{$b,X,i,j-1$}}
\end{algorithm}
\end{document}