目录

  • 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 算法与程序的关系

数据结构与算法 第4版 电子书_Java

1.2.3 算法与数据结构的关系

数据结构是数据的组织形式,可以用来表征特定的对象数据。在计算机程序中,操作的对象是各式各样的数据,这些数据往往拥有不同的数据结构。因为不同的数据结构所采用的方法不同,计算的复杂程度也不同,因此,算法往往依赖于某种数据结构,也就是说马,数据结构是算法实现的基础。

程序=数据结构+算法+程序设计语言

1.3 算法的表示

1.3.1 自然语言表示

数据结构与算法 第4版 电子书_数据_02

1.3.2 流程图表示

数据结构与算法 第4版 电子书_数据_03

在实际使用中,一般采用如下三种流程结构

数据结构与算法 第4版 电子书_算法_04


数据结构与算法 第4版 电子书_算法_05


数据结构与算法 第4版 电子书_数据结构与算法 第4版 电子书_06

1.3.3 N-S图表示

数据结构与算法 第4版 电子书_算法_07

1.3.4 伪代码表示

数据结构与算法 第4版 电子书_数据_08


数据结构与算法 第4版 电子书_数据结构_09

1.4 算法性能的评价

数据结构与算法 第4版 电子书_数据_10

1.4.1 时间复杂度

数据结构与算法 第4版 电子书_Java_11

1.4.2 空间复杂度

数据结构与算法 第4版 电子书_算法_12

1.5 Java语法

Java基础语法