目录
- 1.算法和实现算法的Java语法
- 1.1 算法初步
- 1.1.1 什么是算法
- 1.1.2 算法发展史
- 1.1.3 算法分类
- 1.2 算法相关概念的区别
- 1.2.1 算法与公式的关系
- 1.2.2 算法与程序的关系
- 1.2.3 算法与数据结构的关系
- 1.3 算法的表示
- 1.3.1 自然语言表示
- 1.3.2 流程图表示
- 1.3.3 N-S图表示
- 1.3.4 伪代码表示
- 1.4 算法性能的评价
- 1.4.1 时间复杂度
- 1.4.2 空间复杂度
- 1.5 Java语法
1.算法和实现算法的Java语法
1.1 算法初步
程序 = 数据结构 + 算法
1.1.1 什么是算法
算法:用于计算的方法,通过这种方法可以达到预期的效果。
算法五个特征:
有穷性、确切性、输入、输出、可行性。
1.1.2 算法发展史
算法自古有之,在此不去研究,反正发展至今,无论使用何种编程语言,都需要和算法打交道。
1.1.3 算法分类
按照应用来分:
基本算法
数据结构和相关的算法
几何算法
图论算法
规划算法
数值分析算法
加密\解密算法
排序算法
查找算法
并行算法
数论算法按算法结果的确定性来分:
确定性算法:在有限时间内完成,得到结果唯一,且经常取决于输入值。
非确定性算法:在有限时间内完成,得到结果不唯一,即存在多值性。按照算法的思路来分
递推算法
递归算法
穷举算法
贪婪算法
分治算法
动态规划算法
迭代算法
1.2 算法相关概念的区别
1.2.1 算法与公式的关系
公式:是一种高精度的计算方法,可以认为是一种算法,它是人类智慧的结晶。
算法:算法并不一定是公式,算法的形式可以比公式更复杂,解决的问题更加广泛。
1.2.2 算法与程序的关系
1.2.3 算法与数据结构的关系
数据结构是数据的组织形式,可以用来表征特定的对象数据。在计算机程序中,操作的对象是各式各样的数据,这些数据往往拥有不同的数据结构。因为不同的数据结构所采用的方法不同,计算的复杂程度也不同,因此,算法往往依赖于某种数据结构,也就是说马,数据结构是算法实现的基础。
程序=数据结构+算法+程序设计语言
1.3 算法的表示
1.3.1 自然语言表示
1.3.2 流程图表示
在实际使用中,一般采用如下三种流程结构
1.3.3 N-S图表示
1.3.4 伪代码表示
1.4 算法性能的评价
1.4.1 时间复杂度
1.4.2 空间复杂度
1.5 Java语法
Java基础语法