附录:排序算法;;排序算法;排序算法分类:内部排序和外部排序。
内部排序:整个排序过程不需要借助于外部存储器(如磁盘等),所有排序操作都在内存中完成。
外部排序:参与排序的数据非常多,数据量非常大,计算机无法把整个排序过程放在内存中完成,必须借助于外部存储器(如磁盘)。外部排序最常见的是多路归并排序。可以认为外部排序是由多次内部排序组成。;常用的内部排序;常用的内部排序;选择排序;直接选择排序;SelectSort.java;算法的时间效率:无论初始状态如何,在第i趟排序中选择最小关键码的元素,需做n-i次比较,因此总的比较次数为:
算法的空间效率:空间效率很高,只需要一个附加程序单元用于交换,其空间效率为
算法的稳定性:不稳定;常用的内部排序;堆排序;HeapSort.java;算法的时间效率:假设有n个数据,需要进行n-1次建堆,每次建堆本身耗时 ,则其时间效率为
算法的空间效率:空间效率很高,只需要一个附加程序单元用于交换,其空间效率为
算法的稳定性:不稳定;常用的内部排序;冒泡排序;BubbleSort.java;算法的时间效率:从冒泡排序的算法可以看出,若待排序的元素为正序,则只需进行一趟排序,比较次数为n-1次,移动元素次数为0;若待排序的元素为逆序,则需要进行n-1趟排序,比较次数为 ,移动次数为
原创力文档

文档评论(0)