1.引入宏包
\RequirePackage{algorithm, algorithmic}
引入algorithm和algorithmic这两个宏包。
2.各种语句
将REQUIRE和ENSURE改为Input和Output
\begin{breakablealgorithm}
\caption{确定性在线算法$A_{\delta}$}
\begin{algorithmic}[1] %每行显示行号
\REQUIRE{一个大数据作业$B$的输入队列$X=\{B^0,B^1,B^2,......B^n\}$.}
\ENSURE{对于该大数据作业是否存储中间数据集$DA$的决策。还有$C_{A_{\delta}}$和$C_{t}$。}
\STATE 在$B^0$, 计算$C_{b}$, $C_{d}$的值. 初始化$C_{A_{\delta}} \leftarrow 0,C_{t} \leftarrow 0,\theta \leftarrow \delta$.
\STATE 在$B^0$的结束, 开启计时器$MyTimer$, 并且初始化$index \leftarrow 1$.
\STATE 循环如下,直到$MyTimer > T$或者中间数据集被存储:
\STATE 当$B$开启一个大数据集群用于计算;
\IF{$index < \theta$}
\STATE \qquad $index \leftarrow index+1,C_{A_\delta} \leftarrow C_{A_\delta}+C_{b}$,$C_{t} \leftarrow C_{A_{\delta}}$;
\ELSE
\STATE \qquad $C_{t} \leftarrow C_{A_\delta}+C_{d}$;
\STATE \qquad \textbf{存储中间数据集$DA$}
\ENDIF
\end{algorithmic}
\end{breakablealgorithm}
- caption标题
- REQUIRE输入
- ENSURE输出
- STATE正常语句
- IFif语句
- ELSEelse语句
- ENDIF
效果
3.存在的问题
效果
问题是algorithm包和algpseudocode包冲突,将algpseudocode包删除即可。