Latex 插入伪代码

在周志华的《机器学习》一书中经常有伪代码
于是今天研究了一下怎么使用Latex写出伪代码
这是《机器学习》第74页的伪代码的Latex代码

\documentclass[11pt,UTF8]{ctexart}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}
\usepackage{amssymb}%空集符号

\floatname{algorithm}{机器学习算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
\begin{document}
		\begin{algorithm}
			\caption{决策树学习基本算法}
			\begin{algorithmic}[1] %显示行号,1是每行都显示
				\Require 训练集$D=\left\{(\mathbf{x}_1,y_1),(\mathbf{x}_1,y_1),\dots,(\mathbf{x}_m,y_m)\right\};$
				属性集$A=\left\{(a_1,a_2,\dots,a_d)\right\}$
				\Ensure$node$为根节点的一棵决策树
				\Function {$TreeGenerate$}{$D, A$}
				\State 生成节点$node$
				\If {$D$中的样本全属于同一类别$C$}
				\State$node$标记为$C$类叶节点;\Return
				\EndIf
				\If {$A=\varnothing$ $\textbf{OR}$ $D$中样本再$A$上取值相同}
				\State$node$标记为叶节点,其类别标记为$D$中样本类最多的类;\Return
				\EndIf
				\State$A$中选择最优划分属性$a_*$
				\For {$a_*$的每一个值$a_*^v$}
				\State$node$生成一个分支;令$D_v$表$D$中$a_*$上取值为$a_*^v$的样本子集;
			    \If{$D_v$为空}
				将分支节点标记为叶节点,其类别标记为$D$中样本最多的类;\Return 
				\Else{ 以\Call{$TreeGenerate$}{$D_v, A\backslash\{a_*\}$}为分支节点}
				\EndIf
				\EndFor
				\EndFunction
			\end{algorithmic}
		\end{algorithm}
\end{document}

输出结果:
这里写图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值