【思维】快速排序 - BlueDream

【摘要】算法定义快速排序是一种排序算法,由C. A. R. Hoare所发展的,以平均效能来说,排序n个项目要Θ(nlogn)次比较。然而,在最坏的效能下,它需要Θ(n2)次比较。一般来说,快速排序实际上明显地比其他Θ(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项之可能性。算法描述快速排序使用分治法(Divide and conquer)策略来把一

【思维】快速排序 - BlueDream

算法定义快速排序是一种排序算法,由C. A. R. Hoare所发展的,以平均效能来说,排序n个项目要Θ(nlogn)次比较。然而,在最坏的效能下,它需要Θ(n2)次比较。一般来说,快速排序实际上明显地比其他Θ(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项之可能性。算法描述快速排序使用分治法(Divide and co

【思维】堆排序 - BlueDream

【摘要】算法定义堆排序(Heapsort)是指利用(堆)这种数据结构所设计的一种排序算法。堆积树是一个近似完全二叉树的结构,并同时满足堆属性:即子结点的键值或索引总是小于(或者大于)它的父节点。 最差时间复杂度 O(nlogn) 最优时间复杂度 O(nlogn) 平均时间复杂度 Θ(nlogn) 算法描述在堆积树的数据结构中,堆积树中的最大值总是位于根节点。堆积树中定义以下几种操作: 最大堆积调整(Max_Heapify):将堆积树的末端子结点作调整,使得子结点永远小于父结点

【思维】堆排序 - BlueDream

算法定义堆排序(Heapsort)是指利用(堆)这种数据结构所设计的一种排序算法。堆积树是一个近似完全二叉树的结构,并同时满足堆属性:即子结点的键值或索引总是小于(或者大于)它的父节点。 最差时间复杂度 O(nlogn) 最优时间复杂度 O(nlogn) 平均

【思维】插入排序 - BlueDream

【摘要】算法定义插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。算法描述一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序

【思维】插入排序 - BlueDream

算法定义插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。算法描述一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序取出下一

关于设计启发 - BlueDream

【摘要】下面是对主要的设计中的启发式方法的总结:寻找现实世界中的对象(object,物体)形成一致的抽象封装实现细节在可能的情况下继承藏住秘密(信息隐藏)找出容易改变的区域保持松散耦合探寻通用的设计模式高内聚性构造分层结构严格描述类契约分配职责为测试而设计避免失误有意识的选择绑定时间创建中央控制点考虑使用蛮力画一个图保持设计模块化 阅读全文

关于设计启发 - BlueDream

下面是对主要的设计中的启发式方法的总结:寻找现实世界中的对象(object,物体)形成一致的抽象封装实现细节在可能的情况下继承藏住秘密(信息隐藏)找出容易改变的区域保持松散耦合探寻通用的设计模式高内聚性构造分层结构严格描述类契约分配职责为测试而设计避免失误有意识的选择绑定时间创建中央控制点考虑使用蛮力画一个图保持设计模块化本文链接:http://www.cnblogs.com/bluedream2009/archive/2011/03/12/1982475.html,转载请注

如何向妻子解释OOD【转】 - BlueDream

【摘要】译者原文地址:http://www.cnblogs.com/niyw/archive/2011/01/25/1940603.html如何向妻子解释OOD前言  此文译自CodeProject上How I explained OOD to my wife一文,该文章在Top Articles上排名第3,读了之后觉得非常好,就翻译出来,供不想读英文的同学参考学习。  作者(Shubho)的妻子(Farhana)打算重新做一名软件工程师(她本来是,后来因为他们孩子出生放弃了

如何向妻子解释OOD【转】 - BlueDream

译者原文地址:http://www.cnblogs.com/niyw/archive/2011/01/25/1940603.html如何向妻子解释OOD前言  此文译自CodeProject上<How I explained OOD to my wife>一文,该文章在Top Articles上排名第3,读了之后觉得非常好,就翻译出来,供不想读英文的同学参考学习。  作者(Shubho)的妻子(Farhana)打算重新做一名软件工程师(她本来是,后来因为他们孩子出