摘要: C#获取当前日期时间(转)http://blog.163.com/ljq086@126/blog/static/549639712010112921658843/我们可以通过使用DataTime这个类来获取当前的时间。通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04)、时间(12:12:12)、日期+时间(2008-09-04 12:11:10)等。//获取日期+时间DateTime.Now.ToString(); // 2008-9-4 20:02:10DateTime.Now.ToLocalTime().ToString(); // 2008-9-4 20:12 阅读全文
posted @ 2013-06-06 10:53 忧郁小王子 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。一、DataTable简介(1)构造函数DataTable()不带参数初始化DataTable类的新实例。DataTable(string tableName)用指定的表名初始化DataTable类的新实例。DataTable(string tableName, string tableNamespace)用指定的表名和命名空间初始化DataTable类的新实例。(2)常用属性CaseSensitive指示表中的字符串比较 阅读全文
posted @ 2013-04-20 21:13 忧郁小王子 阅读(5678) 评论(0) 推荐(0) 编辑
摘要: 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用第一个数据)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。值得注意的是,快速排序不是一种稳定的排序算法,也就是说,多个相同的值的相对位置也许会... 阅读全文
posted @ 2013-04-18 23:25 忧郁小王子 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致。个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的。注意,虽然在概念上,C#接口类似于COM接口,但他们的底层结构是不同的。那么,我们来看一下如何声明和使用接口。 声明接口 声明接口在语法上和声明抽象类完全相同,例如这里有一个银行账户的接口: publicinterfaceIBankAccount{voidPayIn(decimalamount);boolWithdraw(decimalamount);decimalBalance{get... 阅读全文
posted @ 2013-03-28 16:18 忧郁小王子 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Strassen矩阵乘法矩阵乘法是线性代数中最常见的运算之一,它在数值计算中有广泛的应用。若A和B是2个n×n的矩阵,则它们的乘积C=AB同样是一个n×n的矩阵。A和B的乘积矩阵C中的元素C[i,j]定义为: 若依此定义来计算A和B的乘积矩阵C,则每计算C的一个元素C[i,j],需要做n个乘法和n-1次加法。因此,求出矩阵C的n2个元素所需的计算时间为0(n3)。60年代末,Strassen采用了类似于在大整数乘法中用过的分治技术,将计算2个n阶矩阵乘积所需的计算时间改进到O(nlog7)=O(n2.18)。首先,我们还是需要假设n是2的幂。将矩阵A,B和C中每一矩阵都分块 阅读全文
posted @ 2013-03-27 21:40 忧郁小王子 阅读(1347) 评论(0) 推荐(0) 编辑
摘要: 什么是分治法: 在计算机科学中,分治法是建基于多项分支递归的一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。 这个技巧是很多高效算法的基础,如排序算法(快速排序、归并排序)、傅立叶变换(快速傅立叶变换)。 另一方面,理解及设计分治法算法的能力需要一定时间去掌握。正如以归纳法去证明一个理论,为了使递归能够推行,很多时候需要用一个较为概括或复杂的问题去取代原有问题。而且并没有一个系统性的方法去适当地概括问题。 分治法这个名称有时亦会用于将问题简化为只有一个细问题... 阅读全文
posted @ 2013-03-24 14:37 忧郁小王子 阅读(1125) 评论(0) 推荐(1) 编辑
摘要: 插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。历史记载:最早拥有排序概念的机器出现在1901至1904年间由Hollerith发明出使用基数排序法的分类机,此机器系统包括打孔,制表等功能,1908年分类机第一次应用于人口普查,并且在两年内完成了所有的普查数据和归档。Hollerith在1896年创立的分 阅读全文
posted @ 2013-03-23 11:58 忧郁小王子 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 算法:算法就是任何良定义的计算过程,该过程取某个值或值的集合作为输入,并产生某个值或值得集合作为输出。这样算法就是把输入转换成输出的计算步骤的一个序列。数据结构:数据结构是一种存储和组织数据的方式。 阅读全文
posted @ 2013-03-21 21:18 忧郁小王子 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。 堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。 要点: 堆:顺序随意 栈:后进先出(Last-In/First-Out)值类型总是在内存中占用一个预定义的字节数(例如,int类型占4个字节,而string类型占用的字节数会根据字符串的长度不同而不同),当声明一个值类型变量时,会在栈中分配适当大小的内存(除了引用类型的值类型成员外,如类的int字段),内存中的这个空间用来存储变量所含的值。.NET维护一个栈指针,它包含栈中下一个可用内存... 阅读全文
posted @ 2013-03-21 19:45 忧郁小王子 阅读(247) 评论(0) 推荐(0) 编辑