2017年10月12日

模板之类模板2

摘要: 1、派生类和模板: 为了运行的效率,类模板是相对独立的,即独立设计,没有使用继承的思想。对类模板的扩展是采用适配器来完成的。通用性是模板库的设计出发点之一,这是由泛型算法和函数对象等手段达到的。 派生类的目标之一也是代码复用和程序的通用性,最典型的就是MFC,派生类的优点是可以由简到繁,逐步深入,程 阅读全文

posted @ 2017-10-12 14:38 wsw_seu 阅读(119) 评论(0) 推荐(0) 编辑

排序之归并排序

摘要: 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并过程为:比较 阅读全文

posted @ 2017-10-12 10:45 wsw_seu 阅读(141) 评论(0) 推荐(0) 编辑

排序之堆排序

摘要: 堆排序时间复杂度:O(NlogN).二叉堆:是完全二叉树。将其结点存入数组的话,任意一非叶结点位置存在以下的两种关系1、k[i]<=k[2*i+1] && k[i]<=k[2*i+2] (小顶堆) 小顶堆堆顶关键字肯定是所有关键字中最小的2、k[i]>=k[2*i+1] && k[i]>=k[2*i 阅读全文

posted @ 2017-10-12 10:03 wsw_seu 阅读(120) 评论(0) 推荐(0) 编辑

排序之选择排序

摘要: 1、直接选择排序(Straight Select Sorting) 也是一种简单的排序方法,它的基本思想是:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1] 阅读全文

posted @ 2017-10-12 10:02 wsw_seu 阅读(133) 评论(0) 推荐(0) 编辑

排序之冒泡排序

摘要: 冒泡排序的过程很简单,首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则交换两个记录,然后比较第二个记录和第三个记录。以此类推,直到第n-1个记录和第n个记录进行比较完毕。上述过程为一趟冒泡排序,其结果使得关键字最大的记录被安置到最后一个记录的位置上上。然后进行第二趟冒泡排序,对前n 阅读全文

posted @ 2017-10-12 09:30 wsw_seu 阅读(248) 评论(0) 推荐(0) 编辑

导航