第1章 绪 论
1.1
毕业设计
课题研究的背景和意义
1.1.1 课题研究的背景
数据排序是重要的计算及应用之一。对
排序算法的研究
也是我们学习算法的至关重要的一部。排序方法主要有以下几种:(1). 插入排序(2)冒泡排序(3)叉树排序 (4)二路归并排序 (5)选择排序 (6)希尔排序(7)快速排序(8)堆排序。其中插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的。选择排序、希尔排序、快速排序、堆排序是不稳定的。插入排序、冒泡排序、选择排序的时间复杂性为O(n2)其它非线形排序的时间复杂性为O(nlog2n)线形排序的时间复杂性为O(n);线形排序、插入、冒泡排序的速度较慢,但参加排序的序列局部或整体有序时,这种排序能达到较快的速度。反而在这种情况下,快速排序反而慢了。当n较小时,对稳定性不作要求时宜用选择排序,对稳定性有要求时宜用插入或冒泡排序。若待排序的记录的关键字在一个明显有限范围内时,且空间允许是用桶排序。当n较大时,关键字元素比较随机,对稳定性没要求宜用快速排序。当n较大时,关键字元素可能出现本身是有序的,对稳定性有要求时,空间允许的情况下。宜用归并排序。当n较大时,关键字元素可能出现本身是有序的,对稳定性没有要求时宜用堆排序。二路归并排序的辅助空间为O(n),其它排序的辅助空间为O(1);本设计通过对擂台排序算法的动态过程排序过程的展示。使得本人详细的了解了擂台排序算法,并可以推广普及的其他算法的研究中去。这种动态演示的方法详尽的展示了排序过程的一切变化,让操作者一目了然的看到了动态变化过程,轻松的掌握了这个排序算法的思想。
1.1.2课题研究的意义
排序算法在算法领域至关重要,在现实应用中也是缺他不可。而往往书中的排序算法的文字描述对学习者来说很难理解。程序语言的描述更是不知其所指。这对学习者来说很大的打击了学习的积极性。也使得他们很难真正的掌握排序算法,并在实际应用中发挥作用。而本设计的思想是:以一种排序算法作为范例,动态的演示一组数据在这个算法思想下的变化过程。并在动态变化过程中随时可以暂停以便给学习者有思考的过程。通过动态的演示让学习者清晰的看到算法的思想。这种动态的演示算法的过程可以推广到其他排序算法中去。有了这个动态过程的演示。学习者就可以轻松的掌握各种算法的思想。并在程序设计的过程中很好的利用。
1.2各种
排序算法的详细介绍1.2.1稳定排序和非稳定排序
简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。反之,就是非稳定的。
比如:一组数排序前是a1,a2,a3,a4,a5,其中a2=a4,经过某种排序后为a1,a2,a4,a3,a5,则我们说这种排序是稳定的,因为a2排序前在a4的前面,排序后它还是在a4的前面。假如变成a1,a4,a2,a3,a5就不是稳定的了。
1.2.2、内排序和外排序
说明:为了防止网络上可以查找到本毕业设计的论文及实际界面信息保护购买者的利益1、本
计算机毕业设计
样本提供的只是有关此设计论文和程序的简单介绍,要想取得完整的作品,需要你与本站联系。2、本样本只是从论文中摘录一部分,在内容、字体、字号排版上与实际作品有一定的差别,请以本站实际提供的作品为准。需要了解本
计算机毕业设计的具体详细信息请联系本站客服。