关于IEEEAccess中伪代码的格式小结

目前遇到的伪代码主要用了三种: algorithmic, algorithmicx, algorithm2e

大致的格式如下

\begin{algorithm}
    \caption{Algorithm caption}
    \label{alg:algorithm-label}
    \begin{algorithmic}
        ... Your pseudocode ...
    \end{algorithmic}
\end{algorithm}

大部分的样式都是包含在algorithm中的,其中algorithmicx 搭配 algpseudocode(伪代码的格式)的样式可以满足大部分的需求,algorithm2e类型较前两种语法上复杂一点下面给出这三种的几个例子

Algorithmic代码:

\begin{algorithm}[h]
\caption{An example for format For \& While Loop in Algorithm}
\begin{algorithmic}[1]
\For{each $i\in [1,9]$}
\State initialize a tree $T_{i}$ with only a leaf (the root);
\State $T=T\cup T_{i};$
\EndFor
\ForAll {$c$ such that $c\in RecentMBatch(E_{n-1})$}
\label{code:TrainBase:getc}
\State $T=T\cup PosSample(c)$;
\label{code:TrainBase:pos}
\EndFor;
\For{$i=1$; $i<n$; $i++$ }
\State $//$ Your source here;
\EndFor
\For{$i=1$ to $n$}
\State $//$ Your source here;
\EndFor
\State $//$ Reusing recent base classifiers.
\label{code:recentStart}
\While {$(|E_n| \leq L_1 )and( D \neq \phi)$}
\State Selecting the most recent classifier $c_i$ from $D$;
\State $D=D-c_i$;
\State $E_n=E_n+c_i$;
\EndWhile
\label{code:recentEnd}
\end{algorithmic}
\end{algorithm}


Algorithmicx

前期准备:

\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}

\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}

代码:

\begin{algorithm}
\caption{用归并排序求逆序数}
\begin{algorithmic}[1] %每行显示行号
\Require $Array$数组,$n$数组大小
\Ensure 逆序数
\Function {MergerSort}{$Array, left, right$}
\State $result \gets 0$
\If {$left < right$}
\State $middle \gets (left + right) / 2$
\State $result \gets result +$ \Call{MergerSort}{$Array, left, middle$}
\State $result \gets result +$ \Call{MergerSort}{$Array, middle, right$}
\State $result \gets result +$ \Call{Merger}{$Array,left,middle,right$}
\EndIf
\State \Return{$result$}
\EndFunction
\State
\Function{Merger}{$Array, left, middle, right$}
\State $i\gets left$
\State $j\gets middle$
\State $k\gets 0$
\State $result \gets 0$
\While{$i<middle$ \textbf{and} $j<right$}
\If{$Array[i]<Array[j]$}
\State $B[k++]\gets Array[i++]$
\Else
\State $B[k++] \gets Array[j++]$
\State $result \gets result + (middle - i)$
\EndIf
\EndWhile
\While{$i<middle$}
\State $B[k++] \gets Array[i++]$
\EndWhile
\While{$j<right$}
\State $B[k++] \gets Array[j++]$
\EndWhile
\For{$i = 0 \to k-1$}
\State $Array[left + i] \gets B[i]$
\EndFor
\State \Return{$result$}
\EndFunction
\end{algorithmic}
\end{algorithm}

流程图:

Algorithm2e

准备工作:

%% 防止冲突所加

\makeatletter
\newif\[email protected]
\makeatother
\let\algorithm\relax
\let\endalgorithm\relax
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}%[ruled,vlined]{
\usepackage{algpseudocode}
\usepackage{amsmath}
\renewcommand{\algorithmicrequire}{\textbf{Input:}} % Use Input in the format of Algorithm
\renewcommand{\algorithmicensure}{\textbf{Output:}} % Use Output in the format of Algorithm

代码:

\begin{algorithm}
\caption{identify Row Context}
\KwIn{$r_i$, $Backgrd(T_i)$=${T_1,T_2,\ldots ,T_n}$ and similarity threshold $\theta_r$}
\KwOut{$con(r_i)$}
$con(r_i)= \Phi$\;
\For{$j=1;j \le n;j \ne i$}
{
float $maxSim=0$\;
$r^{maxSim}=null$\;
\While{not end of $T_j$}
{
compute Jaro($r_i,r_m$)($r_m\in T_j$)\;
\If{$(Jaro(r_i,r_m) \ge \theta_r)\wedge (Jaro(r_i,r_m)\ge r^{maxSim})$}
{
replace $r^{maxSim}$ with $r_m$\;
}
}
$con(r_i)=con(r_i)\cup {r^{maxSim}}$\;
}
return $con(r_i)$\;
\end{algorithm}

流程图:




原文地址:https://www.cnblogs.com/Lisamon/p/11156538.html

时间: 2024-10-26 05:42:40

关于IEEEAccess中伪代码的格式小结的相关文章

eclipse中使用javap工具小结

关于javap的功能,百度百科上是这么解释的: javap javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具. 简单明了,大多时候真正的开发环境为linux系统,但是在windows下开发的时候又不习惯dos窗口的化,eclipse为我们提供了 javap的详细使用: 我们能够在eclipse中使用javap工具,我们有必要了解一下在eclipse中的Variables这个东西.这个英文单词的意思是变量集合的意思,意思就是我们以某些简短的

django数据库中的时间格式与页面渲染出来的时间格式不一致的处理

django数据库中的时间格式与页面渲染出来的时间格式不一致的处理. 在数据库里,时间是这样显示的: date: 2012-07-21 12:27:22 | date | datetime | NO | | NULL | | +-----------+-------------+------+-----+---------+----------------+ 在模板里用: <span>{{ post.date }}</span> 打印出来,时间格式是这样的: July 21, 20

Linxu中和Windows中的文本格式

在Linux中新建的文本文件换行符是$ Windows中新建的文本换行符是^M$ 在Windows中编辑由Linux中创建的文本,新添加的内容仍然会以Linux的$的格式换行 将Windows下编辑的文本转换成Linux中的文本格式可以使用命令:dos2unix 文件名

如何在latex 中插入EPS格式图片

如何在latex 中插入EPS格式图片 第一步:生成.eps格式的图片 1.利用visio画图,另存为pdf格式的图片 利用Adobe Acrobat裁边,使图片大小合适 另存为.eps格式,如下图所示: 注:这一步必须按照图示方式另存为,不能直接强行改后缀名,否则插入后无法显示. 2.利用matlab画图,直接另存为eps格式即可 第二步:插入代码 1.添加宏包   \usepackage{graphicx}     \usepackage{epstopdf} 2.将.eps图片和.tex文件

解决:信息中插入avi格式的视频时,提示“unsupported video format”

[测试步骤]:新建信息,添加AVI格式的视频 [测试结果]:添加时弹出提示"unsupported video format" 该问题主要提现在手机彩信视频附件不支持该AVI格式的视频,因此我们通过操作流程对代码进行追踪,查找"unsupported video format"产生的位置. 我们从添加附件界面ComposeMessageActivity类的onActivityResult()方法开始. -->onActivityResult()调用代码如下:

PHP中的定界符格式

<?php //nowdoc(单引号定界符) //ABC可以是任合内容,放在单引号中 $c=<<<'ABC' 这里可以是任合内容 我是历的苛夺基 本原则叶落归根在运 输费艰难田¥¥&…… ABC; echo $c; ?> <?php //heredoc(双引号定界符) //ABC可以是任合内容,放在双引号中或是不加引号 $c=<<<ABC 这里可以是任合内容 我是历的苛夺基 本原则叶落归根在运 输费艰难田¥¥&…… ABC; echo

Window中调试HBase问题小结

1.好久没用log4j了,转到logback好多年了,hbase程序运行时,报缺少log4j配置,那么,就转去logback吧(以下的XXX表示版本号). 原先lib包里面有log4j-XXX.jar.slf4j-api-XXX.jar.slf4j-log4j12-XXX.jar,干掉log4j-XXX.jar和slf4j-log4j12-XXX.jar,加入jcl-over-slf4j-XXX.jar,log4j-over-slf4j-XXX.jar.logback-classic-XXX.j

.net中TreeView使用方法小结(1)

在新项目的开发中,TreeView的作用很重要,这两天好好的学习了一下treeview的使用方法. 这篇文章主要关注TreeView带有CheckBox的情况. 在TreeView中点击CheckBox触发的函数如下: private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { }   在这个事件中选中,或者取消的那一个节点为: TreeNode node = e.Node; 使用TreeView控件要经常使用到

在CentOS 6.x中支持exfat格式的U盘(移动硬盘)

参考资料:http://linux.cn/article-1503-1.html CentOS系列一直没有默认支持使用exfat格式的大容量U盘(移动硬盘),但可以通过添加fuse-exfat模块来支持,步骤如下: 1.下载fuse-exfat支持软件: exfat支持是通过fuse模块的方式支持的,其项目地址是: https://code.google.com/p/exfat/  ,当前版本是:1.0.1. 目前exfat的支持已经是全功能支持,支持读写. 可以下载源代码包,并自行使用scon