冒泡排序
算法描述:冒泡排序是一种交换排序,它的基本思想就是两两比较相邻的关键字,如果反序则交换,直到没有反序的记录为止
就像冒泡一样,第一次先把最大的选出来冒到最后,依次类推,从下个继续冒最大的
可以看出这个冒泡的实现是很简单的,但是效率上存在严重问题,比如有序数列2,1,3,4,5这个除了第一个,其余都已经是有序了,但是根据算法还是不断循环,比较增加了冗余,所以需要改进
显然从效率上提高了许多,由内外循环次数可以得出其时间复杂度为o(n^2)
选择排序
算法描述:选择排序就是通过n-i此关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录交换
可以看出它的时间复杂度仍然是O(n^2)
约瑟夫环的另一种解法
至于问题描述就不描述了,在之前的数据结构总结中已经有了这个问题的描述