2011年7月16日
摘要: 数组可以看成是一种特殊的线性表,是线性表的推广,其特点是数据元素仍然是一个表,即线性表中数据元素本身也是一个线性表数组的定义:数组是定长线性表在维数上的扩张,即线性表中的元素又是一个线性表,n维数组是一种“同构”的数据结构,其中每个数据元素类型相同,结构一致。、设有n维数组A[b1,b2,…,bn],其每一维的下界都为1,bi是第i维的上界。从数据结构的逻辑关系角度来看,A中的每个元素A[j1,j2, …,jn](1≤ji≤bi)都被n个关系所约束。在每个关系中,除第一个和最后一个元素外,其余元素都只有一个直接后继和一个直接前驱。因此就单个关系而言,仍是线性的。以二维数组A[m,n]为例,可以 阅读全文
posted @ 2011-07-16 19:25 Melou 阅读(5877) 评论(0) 推荐(1) 编辑
  2011年7月9日
摘要: 基本概念:什么是程序?算法+数据结构=程序数据和数据元素数据时所有能被输入到计算机中,且能被计算机处理的符号(数字、字符等)的集合,它是计算机操作对象的总称。数据元素是数据(集合)中的一个“个体”,在计算机中通常作为一个整体进行考虑和处理,是数据结构中讨论的“基本单位”。两类数据元素一类是不可分割的“原子”型数据元素,整数5,字符“N”等另一类是由多个款项构成的数据元素,其中每个款项被称为一个“数据项”。关键字与数据对象关键字指的是能识别一个或多个数据元素的数据项。若能起唯一识别作用,则称之为“主”关键字,否则称之为“次”关键字。数据对象是具有相同特性的数据元素的集合。它是数据的一个子集。什么 阅读全文
posted @ 2011-07-09 11:20 Melou 阅读(1085) 评论(0) 推荐(1) 编辑
  2011年5月20日
摘要: 敏捷方法论有一个共同的特点,那就是都将矛头指向了“文档”,它们认为传统的软件工程方法文档量太“重”了,称为“重量级”方法,而相应的敏捷方法则是“轻量级”方法。正是因为“轻量级”感觉没有什么力量,不但不能够有效体现灵活性,反而显得是不解决问题的方法论似的。因此,就有了一次划时代的会议,创建了敏捷联盟。 阅读全文
posted @ 2011-05-20 10:09 Melou 阅读(3494) 评论(0) 推荐(3) 编辑
  2011年2月26日
摘要: 1 搜索策略搜索策略是指在搜索过程中如何选择扩展节点的次序问题。一般来说,搜索策略就是采用试探的方法。它有两种类型:一类是回溯搜索,另一类是图搜索策略。2 盲目的图搜索策略图搜索策略又可分为两种:一种称为盲目的图搜索策略,或称无信息图搜索策略;而另一种称为启发式搜索策略,又称为有信息的图搜索策略。最常用的两种无信息图搜索策略是宽度优先搜索和深度优先搜索。2.1 宽度优先搜索它是从根节点(起始节点)开始,按层进行搜索,也就是按层来扩展节点。所谓按层扩展,就是前一层的节点扩展完毕后才进行下一层节点的扩展,直到得到目标节点为止。这种搜索方式的优点是,只要存在有任何解答的话,它能保证最终找到由起始节点 阅读全文
posted @ 2011-02-26 14:10 Melou 阅读(41906) 评论(4) 推荐(3) 编辑
  2011年2月18日
摘要: ASP.NET程序在编译的时候默认是Any CPU,即编译的程序可以在X86、X64系统平台上运行。若希望我们的ASP.NET程序运行在X64系统上,我们所要做的仅仅是部署IIS,修改配置。若想程序运行于IIS32位模式下,即运行在.net framwork32位下进行如下配置:1.cscript %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/appPools/enable32bitapponwin64 1 修改IIS配置,允许32位程序运行2.C:\WINDOWS\Microsoft.NET\Framework\v2.0.5 阅读全文
posted @ 2011-02-18 21:05 Melou 阅读(635) 评论(0) 推荐(0) 编辑
  2011年1月9日
摘要: 那些同时执行多项任务、但仍能响应用户交互的应用程序通常需要实施一种使用多线程的设计方案。.NET Framewrok 类库System.Threading 命名空间中提供了创建高性能多线程应用程序所必需的所有工具,但要想有效地使用这些工具,需要有丰富的使用多线程软件工程的经验。对于相对简单的多线程应用程序,BackgroundWorker 组件提供了一个简单的解决方案。对于更复杂的异步应用程序,就... 阅读全文
posted @ 2011-01-09 11:01 Melou 阅读(1686) 评论(2) 推荐(1) 编辑
  2011年1月8日
摘要: 近段时间在把32位系统下编译的程序移植到Windows Server 2003 64bit 系统上时,突然发现找不到ODBC驱动,经过一番研究发现是由于64bit系统中32位的ODBC是在系统的syswow64 目录下面,且写入注册表是的节点为Wow6432Node 当运行32位的程序时是不可能找到32的ODBC驱动的,如果开发程序, 建议编译成为X86形式的, 这样就可以在64位系统正常使用ODBC,如果要通过程序创建ODBC数据源,还要将写入注册表的节点改为Wow6432Node,这样就可以在64bit 位系统中正常使用ODBC数据源了。 在VS工具中设置编译为X86: 通过程序创建OD 阅读全文
posted @ 2011-01-08 15:00 Melou 阅读(2030) 评论(0) 推荐(1) 编辑
  2011年1月3日
摘要: 线程的基本概念• 线程是程序执行的基本原子单位. 一个进程可以由多个线程组成. • 每个线程都维护异常处理程序、调度优先级和一组系统用于在调度该线程前保存线程上下文的结构。线程上下文包括为使线程在线程的宿主进程地址空间中无缝地继续执行所需的所有信息,包括线程的CPU 寄存器组和堆栈。 • 在分布式编程中,正确使用线程能够很好的提高应用程序的性能及运行效率.实现原理是将一个进程分成多个线程,然后让它们并发异步执行,来提高运行效率. • 并发执行并不是同时执行(占有CPU),任意时刻还是只能有一个线程占用CPU,只不过是它们争夺CPU频繁一些,感觉到他们似乎都在运行. 什么时候用线程?• 一般情况 阅读全文
posted @ 2011-01-03 17:37 Melou 阅读(2616) 评论(0) 推荐(2) 编辑
  2011年1月1日
摘要: 在使用 ActionT 委托时,不必显式定义一个封装只有一个参数的方法的委托。以下代码显式声明了一个名为 DisplayMessage 的委托,并将对 WriteLine 方法或 ShowWindowsMessage 方法的引用分配给其委托实例。 以下简化了此代码,它所用的方法是实例化 ActionT 委托,而不是显式定义一个新委托并将命名方法分配给该委托。也可以将 ActionT 委托与匿名方法一起使用。 也可以将 lambda 表达式分配给 ActionT 委托实例。下面使用 ActionT 委托来打印 ListT 对象的内容。 使用 Print 方法将列表的内容 阅读全文
posted @ 2011-01-01 21:34 Melou 阅读(34987) 评论(10) 推荐(8) 编辑
  2010年12月19日
摘要: 最近经常和同事讨论引用参数的问题,为了搞清楚,查了些资料,其中CLR via C#中讲的比较清楚,整理了下----摘自(CLR via C#) 在默认情况下,CLR假设所有的方法参数都是按值传递的。当参数为引用类型的对象时,参数的传递时通过传递指向对象的引用来完成的(引用本身是按值传递的)。这意味着方法可以改变引用对象,并且调用代码可以看到这种改变的结果。 对于一个方法,我们必须知道它的每个参数是引用类型参数,还是值类型的参数,因为我们编写的操作参数的代码会因此有很大的差别。 除了按值传递参数外,CLR还允许我们按引用的方式来才传递参数。在C#中,我们可以用out和ref关键字来做到这一点。这 阅读全文
posted @ 2010-12-19 11:01 Melou 阅读(4137) 评论(0) 推荐(2) 编辑