使用 algorithm2e 包编写递归算法(LCS),类似于附图中所示的算法

使用 algorithm2e 包编写递归算法(LCS),类似于附图中所示的算法

在此处输入图片描述

我想在 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}

在此处输入图片描述

相关内容