// // // // // // // // //
///2013.5.13
// // // // // // // // //
想了很久,
虽然之前在[C++1000个问答]中也讲了很多数据结构,
但总是想到哪里写到哪里,
有时跟数据结构一点边都不沾。
况且能给同学们写博客教程的时间不多了,
实习之后就不大可能再写这些基础教程。
趁着最后一点时间,
帮大家把数据结构系统讲一下,
能让大家到达不至于对其陌生的程度,
我就很欣慰了。
さぁ、いこう。
Q:【如何衡量一个算法的优劣】
A:使用O(Big-O)来衡量一个算法的复杂程度。
没有特指的情况下,
O(函数)指代在不同数据量的情况下算法最慢的运行时间的变化(Scale)。
一般有两种通用字母来表示:n与c。
n代表数据元素的数量,
c代表一个常数。
常用的有以下几种(从快到慢):
O(c),
O(log2n),
O(n),
O(nlog2n),
O(n*n),
O(n*n*n),
O(2的n次方)。