从学习数据结构开始就接触各种算法基础,但是自从应付完考试之后就再也没有练习过,当在开发的时候也是什么时候使用什么时候去查一下,现在在学习JavaScript,趁这个时间再把各种基础算法整理一遍,分别以JS和PHP语法的方式编写代码。

  1.冒泡排序

   原理:临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束

  时间复杂度:平均情况:O(n2)  最好情况:O(n) 最坏情况:O(n2

  空间复杂度:O(1)

  稳定性:稳定    

 1         //JavaScript语法
 2         var array = [23,0,32,45,56,75,43,0,34];
 3 
 4         for(var i = 0; i < array.length; i++)
 5         {
 6             var isSort = true;
 7             for(var j = 0; j < array.length - 1 - i; j++)
 8             {
 9                 if(array[j] > array[j+1])
10                 {
11                     isSort = false;
12                     var temp = array[j];
13                     array[j] = array[j + 1];
14                     array[j + 1] = temp;
15                 }
16             }
17             if(isSort)
18             {
19                 break;
20             }
21         }
22         console.log(array);    
View Code

相关文章: