2015年7月15日

四、堆排序

摘要: 堆排序堆排序是指利用堆积树这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。以下代码是一个简单堆排序算法,功能是排序一个整数数组,用C#实现:using System;using System.Collections.Generic;using Syst... 阅读全文

posted @ 2015-07-15 16:52 咔咔们 阅读(125) 评论(0) 推荐(0)

三、二分搜索

摘要: 二分搜索二分搜索的实质上是不断地将有序数据集进行对半分割,并检查每个分区的中间元素。二分查找的时间复杂度是:O(lgn)以下是参考《算法精解C语言描述》用C#改写的代码:using System;using System.Collections.Generic;using System.Linq;u... 阅读全文

posted @ 2015-07-15 11:30 咔咔们 阅读(99) 评论(0) 推荐(0)

二、归并排序

摘要: 归并排序归并排序本质上将一个无序元素集分割成许多包含一个元素的集,然后不断的将这些集进行合并,直到一个大的有序集生成。归并排序的工作原理是可预测的,它的时间复杂度是O(nlgn),因为归并排序需要额外的存储空间,所有必须要有两倍于要排序数据的空间来处理数据一下是参考《算法精解C语言描述》改写的C#代... 阅读全文

posted @ 2015-07-15 10:46 咔咔们 阅读(181) 评论(0) 推荐(0)

2015年7月10日

一、快速排序

摘要: 快速排序简介:快速排序是由C.A.RHoare在1962年提出。主要思想是:通过一趟排序将要排序的数据分割成独立的两个部分,其中一部分的所有数据都比另外一部分的的所有数据小,然后根据分治法的思想将这两个部分分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序数列。具体代码参考《算法精... 阅读全文

posted @ 2015-07-10 11:23 咔咔们 阅读(111) 评论(0) 推荐(0)

2015年4月17日

第一章 软件开发阶段

摘要: 来源自:《数据结构与面向对象程序设计》1、在选择恰当的子任务时,需要关注的两个问题是什么?答:1)潜在的代码重用;2)将来更改程序的可能性2、C++原型函数中包含哪些元素?答: 函数的原型包含返回类型、名称、参数列表,并以分号结尾。3、本习题将参照Jervis编写的一个函数,函数原型和前置条件/后置... 阅读全文

posted @ 2015-04-17 20:45 咔咔们 阅读(180) 评论(0) 推荐(0)

导航