算法描述:从第一个元素开始,将每一个元素与后一位元素进行比较,如果后一个大,则交换彼此位置,否则不做操作,这张扫描一遍,可以将最大的放到数组的最后边。重复上述操作,直到没有数据要被交换位置。
算法效率:冒泡排序要做N*(N-1)/2次比较 ,N*N/4次交换。交换和比较操作都和N*N成正比。由于常数不算在大O表示法中,可以忽略2和4,并且认为冒泡排序运行需要o(N*N)时间级别。
无论何时,只要看到一个循环嵌套爱一个循环嵌套在另一个循环里,就可以怀疑这个算法的运行时间为O(N*N)级。外层循环执行N次,内部循环对于每一次外层循环都执行N次(或者几分之N次)。这就意味着将大约需要执行N*N次某个基本操作。
算法效率:冒泡排序要做N*(N-1)/2次比较 ,N*N/4次交换。交换和比较操作都和N*N成正比。由于常数不算在大O表示法中,可以忽略2和4,并且认为冒泡排序运行需要o(N*N)时间级别。
无论何时,只要看到一个循环嵌套爱一个循环嵌套在另一个循环里,就可以怀疑这个算法的运行时间为O(N*N)级。外层循环执行N次,内部循环对于每一次外层循环都执行N次(或者几分之N次)。这就意味着将大约需要执行N*N次某个基本操作。