算法分析与设计

发布时间 2023-05-23 10:51:13作者: 小刘不要摆烂了

一、算法概念(算法可看作函数)
  ①定义:解决问题的一种方法或一个过程,是一组由若干运算或指令组成的有穷序列。
  ②特点:输入,输出(函数);确定性(但也有随机性算法);可行性;有穷性。
  ③描述:伪代码;流程图;自然语言。
二、算法正确性
  ①循环不变量:与程序变量有关的一个语句,它在循环刚开始前以及在循环的每个迭代执行后为真,特别在循环结束后,仍然为真。
    例:if A[j] > max:
      max = A[j]; // max为循环不变量,每次都是A[1]...A[j-1]中的最大值
  ②利用循环不变量证明算法的正确性:
    以插入排序为例,假设 j=k,Lk-1为有序数组A[1]...A[k-1]