03 2014 档案

设计模式应用之概述
摘要:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。1.MVC模式这种模式是面向对象的常用设计模式,优势是可以增强代码的可移植性,把耦合度降低。它是最常使用,很容易理解但又不容易实践的一种模式。事实上,要达到完全的MVC模式需要长时间的编程实践。M(model): 程序中所有数据的管理成为模型层,它的职责包括,数据获取、整理、本地缓存、修改等。V(view): 程序中所有的view都成为视图层,负责界面的展示和接收用户事件。C(controller): 控制器是负责M和 阅读全文

posted @ 2014-03-17 10:25 仅此而已_ 阅读(239) 评论(0) 推荐(0)

一步一步写算法(之堆排序)(转)
摘要:堆排序是另外一种常用的递归排序。因为堆排序有着优秀的排序性能,所以在软件设计中也经常使用。堆排序有着属于自己的特殊性质,和二叉平衡树基本是一致的。打一个比方说,处于大堆中的每一个数据都必须满足这样一个特性: (1)每一个array[n] 不小于array[2*n] (2)每一个array[n]不小于array[2 * n + 1] 构建这样一个堆只是基础,后面我们需要每次从堆的顶部拿掉一个数据,不断调整堆,直到这个数组变成有序数组为主。所以详细的堆排序算法应该是这样的: 1)构建大堆,使得堆中的每一个数据都满足上面提到的性质 2)将堆的第一个数据和堆的最后一个数据进行互换,然后重新调整堆,直. 阅读全文

posted @ 2014-03-12 18:31 仅此而已_ 阅读(180) 评论(0) 推荐(0)

一步一步写算法(之合并排序)(转)
摘要:前面一篇博客提到的快速排序是排序算法中的一种经典算法。和快速排序一样,合并排序是另外一种经常使用的排序算法。那么合并排序算法有什么不同呢?关键之处就体现在这个合并上面。 合并算法的基本步骤如下所示: 1)把0~length-1的数组分成左数组和右数组 2)对左数组和右数组进行迭代排序 3)将左数组和右数组进行合并,那么生成的整个数组就是有序的数据数组 下面就开始实践操作: a)创建函数,判断参数的合法性voidmerge_sort(intarray[],intlength){if(NULL==array||0==length)return;_merge_sort(array,0,length. 阅读全文

posted @ 2014-03-10 16:38 仅此而已_ 阅读(201) 评论(0) 推荐(0)

一步一步写算法(之快速排序)(转)
摘要:快速排序是编程中经常使用到的一种排序方法。可是很多朋友对快速排序有畏难情绪,认为快速排序使用到了递归,是一种非常复杂的程序,其实未必如此。只要我们使用好了方法,就可以自己实现快速排序。 首先,我们复习一下,快速排序的基本步骤是什么: 1、 判断输入参数的合法性 2、把数组的第一个数据作为比较的原点,比该数据小的数据排列在左边,比该数据大的数据排列在右边 3、按照(2)的方法分别对左边的数组和右边的数据进行和(2)一样的数据排列 那么实际编写代码中,应该怎么做呢? a)首先,判断数据的合法性?voidquick_sort(intarray[],intlength){intmedian=0;if. 阅读全文

posted @ 2014-03-07 17:43 仅此而已_ 阅读(211) 评论(0) 推荐(0)

一步一步写算法(之非递归排序)(转)
摘要:在上面一篇博客当中,我们发现普通查找和排序查找的性能差别很大。作为一个100万的数据,如果使用普通的查找方法,那么每一个数据查找平均下来就要几十万次,那么二分法的查找呢,20多次就可以搞定。这中间的差别是非常明显的。既然排序有这么好的效果,那么这篇博客中,我们就对排序算做一个总结。 按照我个人的理解,排序可以分为两种:一种是非递归排序,它主要按照非递归的方法对数据进行排序,也就是说主要数据的移位和循环来完成;另外一种就是递归方法,我们在排列当前数据的时候首先把子数据排列有序,然后才会排列当前的数据。这种不断递归调用的方法就是递归排序。 非递归排序的方法很多,这里主要介绍冒泡排序、插入排序、希. 阅读全文

posted @ 2014-03-07 14:51 仅此而已_ 阅读(202) 评论(0) 推荐(0)

一步一步写算法(之查找)(转)
摘要:无论是数据库,还是普通的ERP系统,查找功能数据处理的一个基本功能。数据查找并不复杂,但是如何实现数据又快又好地查找呢?前人在实践中积累的一些方法,值得我们好好学些一下。我们假定查找的数据唯一存在,数组中没有重复的数据存在。 (1) 普通的数据查找 设想有一个1M的数据,我们如何在里面找到我们想要的那个数据。此时数据本身没有特征,所以我们需要的那个数据可能出现在数组的各个位置,可能在数据的开头位置,也可能在数据的结束位置。这种性质要求我们必须对数据进行遍历之后才能获取到对应的数据。intfind(intarray[],intlength,intvalue){if(NULL==array||.. 阅读全文

posted @ 2014-03-04 19:31 仅此而已_ 阅读(243) 评论(0) 推荐(0)

导航