找到相关内容 9
《大话数据结构》第9章 排序 9.10 总结回顾
9.10 总结回顾         本章内容只是在讲排序,我们需要对已经提到的各个排序算法进行对比来总结回顾。         首先我们讲了排序的定义,并提到了排序的稳定性,排序稳定对于某些特殊需求来说是至关重要的,因此在排序算法中,我们需要关注此算
http://cyqdata.cn/cnblogs/article-detail-36886 
《大话数据结构》第9章 排序 9.9 快速排序(上)
9.9.1 快速排序介绍         终于我们的高手要登场了,如果将来你工作后,你的老板要让你写个排序算法,而你会的算法中竟然没有快速排序,我想你还是不要声张,偷偷去把快速排序算法找来敲进电脑,这样至少你不至于被大伙儿取笑。         事实
http://cyqdata.cn/cnblogs/article-detail-36756 
《大话数据结构》第9章 排序 9.8 归并排序(下)
9.8.3 归并排序复杂度分析         我们来分析一下归并排序的时间复杂度,一趟归并需要将SR[1]~SR[n]中相邻的长度为h的有序序列进行两两归并。并将结果放到TR1[1]~TR1[n]中,这需要将待排序序列中的所有记录扫描一遍,因此耗费O(n)时间,而由完全二叉树的深度可知,整个归并排序需要进行΀
http://cyqdata.cn/cnblogs/article-detail-36700 
《大话数据结构》第9章 排序 9.8 归并排序(上)
9.8.1 归并排序介绍         前面我们讲了堆排序,因为它用到了完全二叉树,充分利用了完全二叉树的深度是⌊log2n⌋+1的特性,所以效率比较高。不过堆结构的设计本身是比较复杂的,老实说,能想出这样的结构就挺不容易,有没有更直接简单的办法利用完全二叉树来排序呢?当然是有。  
http://cyqdata.cn/cnblogs/article-detail-36679 
《大话数据结构》第9章 排序 9.7 堆排序(上)
9.7.1 堆结构介绍         我们前面讲到简单选择排序,它在待排序的n个记录中选择一个最小的记录需要比较n-1次。本来这也可以理解,查找第一个数据需要比较这么多次正常的,否则如何知道它是最小的记录。         可惜的是,这样的操作并没
http://cyqdata.cn/cnblogs/article-detail-36563 
《大话数据结构》第9章 排序 9.7 堆排序(下)
9.7.2 堆排序算法         堆排序(Heap Sort)就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆顶的根结点。将它移走(其实就是将其与堆数组的末尾元素交换,此时末尾元素就是最大值),然后将剩余的n-1个序列重新构造成一个堆,这样就
http://cyqdata.cn/cnblogs/article-detail-36549 
《大话数据结构》第9章 排序 9.6 希尔排序(下)
9.6.3 希尔排序算法         好了,为了能够真正弄明白希尔排序的算法,我们还是老办法——模拟计算机在执行算法时的步骤还研究算法到底是如何进行排序的。         希尔排序算法代码如下。  1&nb
http://cyqdata.cn/cnblogs/article-detail-36514 
《大话数据结构》第9章 排序 9.6 希尔排序(上)
9.6.1 变不可能为可能         给大家出一道智力题。请问“VII”是什么?         嗯,很好,它是罗马数字的7。现在我们要给它加上一笔,让它变成8(VIII),应该是非常简单,只需要在右侧加一竖线即可。 &
http://cyqdata.cn/cnblogs/article-detail-36470 
《大话数据结构》第9章 排序 9.5 直接插入排序
9.5.1 直接插入排序算法         扑克牌是我们几乎每个人都可能从事过的游戏。而最基本的扑克玩法都是一边摸牌,一边理牌。假如我们拿到了这样一手牌,如图9-5-1。啊,似乎是同花顺呀,别急,我们得理一理顺序才知道是否是真的同花顺。请问,如果是你,应该如何理牌呢?      &
http://cyqdata.cn/cnblogs/article-detail-36444