版权声明:站在巨人的肩膀上学习。 https://blog.csdn.net/zgcr654321/article/details/85118779
算法
算法(algorithm) 就是定义良好的计算过程,它取一个或一组值作为输入, 并产生出一个或一组值作为输出。也就是说,算法就是一系列的计算步骤,用来将输入数据转换成输出结果。
NP完全问题
NP完全问题(NPC问题),是世界七大数学难题之一。 NP的英文全称是Non-deterministic Polynomial(非确定性多项式),即多项式复杂程度的非确定性问题。
NP完全问题集有一个显著的特点,即如果该集合中的任何一个问题存在有效的算法,则该集合中的其他所有问题都存在有效算法。
如果你能证明一个问题是NP完全的,就可以把时间花在设计一个有效的算法上,该算法可以给出比较好的、但不一定是最佳可能的结果。
插入排序和合并排序
在第2章中,书中介绍了插入排序和合并排序。
插入排序算法对n个数据项进行排序的时间大约等于,其中c1是一个不依赖于n 的常量。
合并排序算法对n个数据项进行排序所需的时间大约是, lgn表示log2n, c2是另一个同样也不依赖于n 的常量。
插人排序算法与合并排序算法相比,通常有着更小的常量因子,即c1<c2 。常量因子对运行时间的影响要小得多。
总的来说插入排序比归并排序慢的很多。
注意:
在算法导论这本书中,lgn就表示log2(n)。
不同底数的log(x)的函数图像如下: