摘要: 希尔排序的一种缩小增量(Incremental)的排序,是直接插入排序的一种升级。基本思想就是,将原有的数组arr,分成Incremental 个小数组,然后对各个小数组进行插入排序,当然我认为,也可以用其他排序算法。然后将增量(Incremental)减半,再分组,再排序。直到最后Incremental=1,也必须等于1,这时,就只能分成一组了,相当于对整个数组进行一次插入排序。这样做的好处,在于,不断细分数组,使得在排序过程中减少了数据的移动量。我的C#实现如下:///<summary>///ShellsortO((nlogn)^2)///</summary>/// 阅读全文
posted @ 2012-07-16 16:01 EricWen 阅读(450) 评论(0) 推荐(0)
摘要: 写一个方法得到一个素数数组,这些素数不能大于给定的自然数。我看网上大多数的实现都是用自然数n除以2到n/2+1的数,如果整除了,就判定不是素数。我的想法不一样,我一个数组保存已经得到的素数,然后用n除以这些素数,如果整除了,就判定不是素数。具体实现如下:staticint[]GetPrimeNumbers(intboundary){List<int>primeList=newList<int>();intn=2;while(n<=boundary){boolisPrime=true;for(inti=0;i<primeList.Count;i++){if(n 阅读全文
posted @ 2012-07-15 02:12 EricWen 阅读(2287) 评论(0) 推荐(0)
摘要: 关于排序的一些常识可以问百科,以下是用C#实现的排序算法。1.冒泡排序 BubbleSort///<summary>///BubblesortO(n^2)///</summary>///<paramname="arr"></param>publicstaticvoidBubbleSort(int[]arr){if(arr==null){thrownewArgumentNullException();}for(inti=0;i<arr.Length-1;i++){for(intj=arr.Length-1;j>i;j 阅读全文
posted @ 2012-07-15 01:54 EricWen 阅读(230) 评论(0) 推荐(0)
摘要: 斐波那契数列(1,1,2,3,5,8,...)用函数表示为f(n)=f(n-1)+f(n-2) (n>2,f(1)=1,f(2)=1)首先一般想到递归算法://////UserecursivemethodtoimplementFibonacci/////////staticintFn(intn){if(n46memorywilloverflow}递归算法时间复杂度是O(n2), 空间复杂度也很高的。当然不是最优的。自然我们想到了非递归算法了。一般的实现如下://////UsethreevariablestoimplementFibonacci/////////staticintFn1(i 阅读全文
posted @ 2012-07-12 23:56 EricWen 阅读(16482) 评论(1) 推荐(0)
摘要: 1 概述   平衡组是微软在.NET中提出的一个概念,主要是结合几种正则语法规则,提供对配对出现的嵌套结构 的匹配。.NET是目前对正则支持最完备、功能最强大的语言平台之一,而平衡组正是其强大功能的外在表现,也是比较实用的文本处理功能,目前只有.NET 支持,相信后续其它语言会提供支持。   平衡组可以有狭义和广义两种定义,狭义平衡组指.NET中定义的(?Expression)语法,广义平衡组并不... 阅读全文
posted @ 2009-11-11 18:10 EricWen 阅读(536) 评论(1) 推荐(0)
摘要: 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 jeALinux联盟文件管理 # ls ls -l或ll 列出当前目录下文件的详细信息 jeALinux联盟文件管理 # pwd pwd 查看当前所在目录的绝对路经 jeALinux联盟文件管理 # cd cd .. 回当前目录的上一级目录 jeALinux联盟文件管理 # cd cd - 回上一次所在的目录 je... 阅读全文
posted @ 2009-06-12 05:22 EricWen 阅读(459) 评论(0) 推荐(0)
摘要: 前言:在配置nginx和php(fastcgi)的时候,感觉云里雾里的。总是依葫芦画瓢,不能举一反三。于是想了解什么他们的关系。写过近三年的.net程序也没有关心iis和 aspnet_isapi.dll之间的关系,因为iis太不需要配置了。何为nginx,和iis做的是同样的事情,那是干什么事情呢。他们都是http服务器 ,也称web服务器。何为fastcgi ,稍后介绍,可以充当cgi的功能但... 阅读全文
posted @ 2009-06-04 17:35 EricWen 阅读(3252) 评论(2) 推荐(0)
摘要: 准备知识:Ubuntu :Ubuntu 是linux的一个版本,有非洲发布的,现在比较流行的一个版本。 参考百度说明Ubuntu nginx  :Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运... 阅读全文
posted @ 2009-06-03 03:09 EricWen 阅读(4179) 评论(0) 推荐(0)
摘要: 在上一篇介绍了cdn的一些原理和概念,以及提供cdn基础网络服务的途径。cdn看起来对于静态内容的,比如html,js,image是非常合适的,通过cdn的部署,用户只需要一跳就可以访问到网站的内容。那对于动态内容怎么办呢?我回答一下: 动态内容按照存在形态可以分为三类。 第一类:内容长时间不需变化,这类内容一般是通过网页静化技术,实现动态内容转换成静态内容,从而达到cdn部署,典型的就是内容类网... 阅读全文
posted @ 2009-03-20 14:11 EricWen 阅读(492) 评论(0) 推荐(0)
摘要: 1IoC理论的背景 我们都知道在面向对象的应用中,软件系统都是由N个对象组成的,它们通过彼此的合作,最终实现业务逻辑。图1:耦合在一起的对象 如果我们打开机械式手表的后盖,就会看到与上面类似的情形,各个齿轮分别带动时针、分针和秒针顺时针旋转,从而在表盘上产生正确的时间。上图画的就是这样的一个齿轮组,它拥有多个独立的齿轮,这些齿轮相互啮合在一起,协同工作,来共同完成某项任务。我们可以看到,在齿轮组中... 阅读全文
posted @ 2009-03-20 13:59 EricWen 阅读(881) 评论(0) 推荐(0)