2016年10月17日

设计模式学习(二)、观察者模式

摘要: 1观察者模式的概念: 在对象之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖你它的对象都回收到通知,并自动更新。 2.观察者模式的结构图 3.观察者模式角色说明 抽象主题(subject)角色:它把所有观察者对象的引用保存到一个聚集里,每个主题都可以有任何数量的观察者。抽象主题提供一个接口, 阅读全文

posted @ 2016-10-17 17:50 会学习的猪 阅读(185) 评论(0) 推荐(0) 编辑

设计模式学习(一)、策略模式

摘要: 1.策略模式的概念: 定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变法独立于使用算法的客户。 2.策略模式的结构图 3.策略模式角色说明 抽象策略(startegy)角色:定义了支持算法的公共接口。通常使用一个接口或者抽象来实现。环境(Context)角色使用这个接口调用具体策 阅读全文

posted @ 2016-10-17 15:33 会学习的猪 阅读(173) 评论(0) 推荐(0) 编辑

数据结构学习(十三)、快速排序

摘要: 基本思想:通过一趟排序将待排记录分割成独立两个部分,其中一部分记录的关键字均比另一部分记录的关键字小, 则可分别对这两部分继续进行排序,重复操作以上操作,已达到整个序列有序的目的 改进算法: 1、优化选取枢轴 三数取中法,即先选取三个关键字进行排序,将中间数作为枢轴,一般取左端、中间、右端三个数。 阅读全文

posted @ 2016-10-17 11:39 会学习的猪 阅读(150) 评论(0) 推荐(0) 编辑

数据结构学习(十二)、归并排序

摘要: 排序思想:将含有n个记录的序列,看成n个有序子序列,每个子序列长度为1,如何两两归并,得到[n/2]([x]表示不小于x的最小整数)个长度2或1的有序子序列; 再两两合并,如此重复,最后得到一个长度为n的有序序列为止。 递归方法: 非递归方法: 阅读全文

posted @ 2016-10-17 10:58 会学习的猪 阅读(151) 评论(0) 推荐(0) 编辑

数据结构学习(十一)、堆排序

摘要: 基本思想:将待排序的序列构成一个大顶堆。此时,最大的值就是堆顶,将它一走,并将余下的序列重新构造成一个堆。如此反复。 阅读全文

posted @ 2016-10-17 10:17 会学习的猪 阅读(154) 评论(0) 推荐(0) 编辑

数据结构学习(十)、插入排序

摘要: 基本思想:将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。 阅读全文

posted @ 2016-10-17 09:37 会学习的猪 阅读(282) 评论(0) 推荐(0) 编辑

数据结构学习(九)、简单选择排序

摘要: 排序思想:通过n-i次关键字间的比较,从n-i+1个记录中选出最小的关键字记录,并和第i个记录交换。 阅读全文

posted @ 2016-10-17 09:28 会学习的猪 阅读(192) 评论(0) 推荐(0) 编辑

数据结构学习(八)、冒泡排序

摘要: 冒泡排序基本思想:比较相邻的二个元素,前者比后者大,则交换二个元素。 冒泡排序优化 当没有任何数据交换则说明序列有序,停止循环 阅读全文

posted @ 2016-10-17 09:15 会学习的猪 阅读(171) 评论(0) 推荐(0) 编辑

导航