Latex 算法Algorithm
2016-03-29 09:55
746 查看
在计算机科学当中,论文当中经常需要排版算法。相信大家在读论文中也看见了很多排版精美的算法。本文就通过示例来简要介绍一下 algorithms 束的用法。该束主要提供了两个宏包,包含两种进行算法排版的环境,algorithm 和 algorithmic 。
这两个宏包是被设计成同时一起使用的,但也可以根据用户的特殊需要分开使用。其中 algorithm 宏包主要是为算法提供一个浮动体环境,也就是说,在 LaTeX 中算法和图像,表一样,都是浮动体。algorithmic 宏包主要是用来完成算法的描述功能,该宏包提供了我们描述算法常用的几种结构命令,如条件结构、循环结构等。下面我们就通过示例来对 algorithm 的使用进行讲解。
Algorithmic 环境
Algorithmic 宏包,为描述算法提供了程序设计中的所有常用结构的表示,如:判断 (IF) ,循环 (WHILE, FOR, LOOP), 输入(REQUIRE) ,输出(ENSURE)等。在这里需要注意的是,所有 algorithmic 提供的命令都是全大写。下面,我们通过一个简单程序的算法,来将所有的算法描述都用上。通过求从1到n的整数和的算法实例来说明 algorithmic 语法。
TeX
1234567891011121314 | \begin{algorithmic}\REQUIRE $n \geq 1$ %输入条件\ENSURE $Sum = 1 + \cdots + n$ %输出\STATE $Sum \leftarrow 0$ %\STATE 命名演示\IF {$n < 1$} %条件语句\PRINT {Input Errow} %打印语句\ELSE \FOR {$i = 0$ to n} %FOR循环结构 \STATE $Sum = Sum + i$\\ \STATE $i = i + 1$ \ENDFOR\ENDIF\RETURN Sum\end{algorithmic} |
以上就是一个算法的示例了其生成文档效果如图所示
这里用的 REQUIRE 命令和 ENSURE 命令和我们日常用的有不同,我们还可以使用重定义命令,将输出变味我们常见的 Input 和 Output 形式,下面是命令:
TeX1 2 | \renewcommand{\algorithmicrequire}{\textbf{Input:}} \renewcommand{\algorithmicensure}{\textbf{Output:}} |
Algorithm 环境
Algorithm 环境主要作用是将代码段变成浮动体,浮动体一方面能防止代码超出页面范围,另外一方面也方面最后生成和图表目录相似的算法列表目录。也能通过标记,方便在文章其它地方引用。还是以上面的例子为例
TeX
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | \begin{algorithm} \caption{计算从1到n的和} %标题 \label{alg1} %标记算法,方便在其它地方引用 \begin{algorithmic} \REQUIRE$n \geq 1$ %输入条件 \ENSURE$Sum = 1 + \cdots + n$ %输出 \STATE$Sum \leftarrow 0$ %\STATE 命名演示 \IF{$n < 1$} %条件语句 \PRINT{InputErrow} %打印语句 \ELSE \FOR{$i = 0$ton} %FOR循环结构 \STATE$Sum = Sum + i$\\ \STATE$i = i + 1$ \ENDFOR \ENDIF \RETURNSum \end{algorithmic} \end{algorithm} |
该断代码生成文档如下图
相关文章推荐
- latex 算法,算法包 algorithm, algorithm2e
- Latex 算法Algorithm
- 数据挖掘十大经典算法(4) The Apriori algorithm
- 斐波那契算法举例(iterative Fibonacci algorithm)
- LaTeX实战经验:如何写算法
- 【C++ STL】算法 <algorithm>中各种算法解析
- 数据挖掘算法-Apriori Algorithm(关联规则)
- TSP 路径构造算法(tour construction algorithm)详解
- 八年程序员之书籍篇--Algorithm(二):算法盒子
- [算法导论]quicksort algorithm @ Python
- Stanford 算法入门 week1 algorithm for closest pair
- [Latex] Algorithm
- Algorithm: 算法题摘录
- 数据挖掘十大经典算法(四) The Apriori algorithm
- 随机选择算法---Randomized Selection Algorithm
- 算法(Algorithm)
- 第五章 5.1 网页等级算法全面阐释 Analysis of PageRank Algorithm
- Delphi 版本的获取PDF页数算法--PDF Page Count Algorithm(Delphi source code)
- 循环赛算法实现-支持奇偶数 Round Robin Tournament Scheduling algorithm
- 最短路径算法—SPFA(Shortest Path Faster Algorithm)算法分析与实现