数据结构与算法( Java 描述) 第1章 数据结构和算法
- 标签:数据结构、算法、Java
- 时间:2022年7月13日 17点53分
- 连接:
- 来源:数据结构与算法(Java 描述) 邓俊辉 著
起泡排序算法
最大元素必然就位
只 关注前面的n-1 个元素
- 算法还必须具备以下要素:
- 输入:待处理的信息,即对具体问题的描述。比如,对于上述三个例子来说,输入分别是“任意给定的直线以及其上的一点”、“任意给定的一条线段”以及“由 n 个可比较元素组成的序列”。
- 输出:经过处理之后得到的信息,即问题的答案。比如,对于上述三个例子来说,输出分别是我们所要得到的“垂直线”、“三等分点”以及“完全有序的序列”。
- 确定性:任一算法都可以描述为由若干种基本操作组成的序列。在垂直线算法中,“取等长绳索”、“联结绳索”、“将绳结固定于一点”、“沿特定方向拉直绳索”等操作都属于基本操作。在三等分线段算法中,基本操作就是欧氏作图法所允许的所有尺规操作。而在起泡排序算法中,基本操作就是图灵机所允许的各种操作:“读取某一元素的内容”、“比较两个元素的大小”以及“修改某一元素的内容”等等。
- 可行性:在相应的计算模型中,每一基本操作都可以实现,且能够在常数时间内完成。
- 有穷性:对于任何输入,按照算法,经过有穷次基本操作都可以得到正确的输出。