目录

  • 1 课程资料
    • 1.1 课程标准
    • 1.2 教学日历
    • 1.3 说课课件
  • 2 第一章绪论
    • 2.1 本章教学目标
    • 2.2 数据结构简介
    • 2.3 数据结构类型
    • 2.4 算法分析
    • 2.5 本章讲义
    • 2.6 本章测验题
    • 2.7 测验
  • 3 线性结构
    • 3.1 本章教学目标
    • 3.2 线性表
    • 3.3 线性表的顺序存储及运算实现
      • 3.3.1 本节讲义
    • 3.4 线性表的链式存储和 运算实现
      • 3.4.1 本节讲义
    • 3.5 应用
    • 3.6 数组
      • 3.6.1 讲义
    • 3.7 本章测验题
    • 3.8 测验
    • 3.9 作业
  • 4 第三章栈和队列
    • 4.1 本章教学目标
    • 4.2 第一课时栈
      • 4.2.1 讲义
    • 4.3 第二课时队列
      • 4.3.1 讲义
    • 4.4 应用
      • 4.4.1 讲义
    • 4.5 本章测验题
  • 5 第四章串
    • 5.1 第一课时概念
    • 5.2 本章学习目标
    • 5.3 本章测验题
  • 6 第五章树和二叉树
    • 6.1 本章学习目标
    • 6.2 第一课时树的定义及基本术语
    • 6.3 第二课时二叉树定义性质存储
    • 6.4 第三课时二叉树遍历
    • 6.5 第四二叉排序与平衡二叉树
    • 6.6 第五树森林二叉树之间转换
    • 6.7 第六课时哈夫曼树
    • 6.8 本章测验题
    • 6.9 测验
    • 6.10 作业
  • 7 第六章图
    • 7.1 本章学习目标
    • 7.2 第一课时图的基本概念
    • 7.3 第二课时图的存储
    • 7.4 第三课时图的遍历
    • 7.5 第四课时最小生成树
    • 7.6 第五课时最短路径
    • 7.7 第六课时拓扑排序
    • 7.8 第七课时关键路程
    • 7.9 本章测验题
    • 7.10 测验
    • 7.11 作业
  • 8 第七章查找
    • 8.1 本章学习目标
    • 8.2 第一课时顺序查找二分查找
    • 8.3 第二课时哈希表
    • 8.4 本章测验题
    • 8.5 测验
    • 8.6 作业
  • 9 第八章排序
    • 9.1 本章学习目标
    • 9.2 第一课时基本概念
    • 9.3 第二课时插入选择排序
    • 9.4 第三课时交换排序
    • 9.5 第四课时归并 基排序及比较
    • 9.6 本章测验题
    • 9.7 测验
    • 9.8 作业
算法分析

算法性能分析

度量算法效率的方法:

Ø事后统计:将算法实现,测算其时间和空间开销。

缺点:⑴编写程序实现算法将花费较多的时间和精力;

            ⑵ 所得实验结果依赖于计算机的软硬件等环境因素。

Ø事前分析:对算法所消耗资源的一种估算方法。

选取对于所研究问题来说是基本操作的原操作,以该基本操作重复执行的次数作为算法的时间量度。

多数情况下,人们所说的基本操作的重复次数都是指最深层循环内的语句的重复执行次数,即语句的频度

#define n 100


void MatrixMultiply(int A[n][n],int B[n][n],int C[n][n])


{  int i,j,k;


/*1*/   for (i=1;i<=n; i++)       


 /*2*/        for (j=1;j<=n; j++)


/*3*/  {  C[i][j]=0;            


 /*4*/             for (k=1;k<=n, k++) 


 /*5*/                C[i][j]=C[i][j]+A[i][k]*B[k][j];


     }


   }

  

T(n)=O(n3)

判定算法性能的一个基本考虑是处理一定规模” 的输入时该算法所需要执行的“基本操作” 数。----渐进算法分析

O表示法:

定义:如果存在正常数cn0,使得当N≥n0,时,T(N)≤cf(N), 则记为T(N)=O(f(N))