《JAVA常用算法手册》学习笔记(一)

典型算法的5个特征:

  • 有穷性:算法的指令或者步骤的执行次数是有限的,执行时间也是有限的
  • 确切性:算法的每一个指令或者步骤都必须有明确的定义和描述
  • 输入:一个算法需要有一个输入条件,用于刻画运算对象的初始情况
  • 输出:一个算法需要一个明确的结果输出
  • 可行性:算法的执行步骤必须是可行的,且可以在有限的时间内完成

算法的分类:

1.按照应用来分类(按解决的问题)

      分为基本算法、数据结构相关的算法、几何算法、图论算法、规划算法、数值分析算法、加密/解密算法、排序算法、查找算法、并行算法和数论算法等

2.按照确定性分类

  • 确定性算法:得到的结果唯一的,且经常取决于输入值
  • 非确定性算法:得到的结果往往不唯一,存在多值性

3.按照算法的思路分类

      分为递推算法、递归算法、穷举算法、贪婪算法、分治算法、动态规划算法和迭代算法等

算法相关概念:

  • 程序设计语言是算法实现的一种形式,也是一种工具
  • 数据结构是算法实现的基础
  • 数据结构 + 算法 + 程序设计语言 = 程序

  • 这里的数据结构表示的是处理的对象,算法是计算和处理的核心方法,程序设计语言是算法的实现方法

算法的表示:

1.自然语言

2.流程图:

《JAVA常用算法手册》学习笔记(一)_第1张图片

3.N-S图:也称为盒图或者CHAPIN图,去除了流程图中的流程线

《JAVA常用算法手册》学习笔记(一)_第2张图片           《JAVA常用算法手册》学习笔记(一)_第3张图片          《JAVA常用算法手册》学习笔记(一)_第4张图片          《JAVA常用算法手册》学习笔记(一)_第5张图片

4.伪代码:要求描述结构清晰、代码简单、可读性好

算法的性能

1.时间复杂度

2.空间复杂度

  • 程序保存所需要的存储空间,即程序的大小
  • 程序在执行过程中所需要消耗的存储空间资源,如程序在执行过程中的中间变量

你可能感兴趣的:(JAVA算法笔记,Java算法笔记)