算法
1.最短时间、最小空间
阶乘:递归n个内存,循环1个内存
2.时间复杂度分析
事后分析:获取前后时间,相减
事前分析:
1)算法采用策略方案***
2)编译产生的代码质量
3)问题输入规模***
4)机器执行指令的速度
最重要的是把核心操作的次数和输入规模的关联关系。
随着输入规模的增大,常数操作可以忽略
随着输入规模的增大,与最高次项相乘的常数可以忽略
n^3>n^2>n>logn>1
3.空间复杂度
4.Kruskal算法
其算法流程为:
1)将图 G中的所有边按照长度由小到大进行排序,等长的边可以按任意顺序。
2)初始化图 G',从前向后扫描排序后的边,如果扫描到的边 e在 G'中连接了两个相异的连通块,则将它插入 G' 中。
3)最后得到的图 G' 就是图 G 的最小生成树。