随笔分类 -  算法拾趣

这里主要是针对编程过程中某些有意思的算法,及其案例
摘要:在字符处理过程中,我们可能需要对某些字符进行替换,而且可能会有多个字符,请比较下面两种写法:一个是用标准的replace函数,另外一个则是用正则表达式 string input = "1,;3^e";... 阅读全文
posted @ 2010-01-16 12:26 陈希章 阅读(1127) 评论(0) 推荐(0) 编辑
摘要:今天在看C++的书时,脑袋里面突然想起高斯定律。 据说:在高斯小时候,上数学课的时候,没有认真听讲。于是,老师为了惩罚他,便留他放学后在教室完成一道数学题。这道题是这样的:"求1到100这一百个数的... 阅读全文
posted @ 2009-06-04 19:42 陈希章 阅读(2350) 评论(2) 推荐(0) 编辑
摘要:大家注意观察下面的数字组合,很有意思吧 1 * 8 + 1 = 9 12 * 8 + 2 = 98 123 * 8 + 3 = 987 1234 * 8 + 4 = 9876 12345 * ... 阅读全文
posted @ 2009-04-27 21:56 陈希章 阅读(2513) 评论(2) 推荐(2) 编辑
摘要:要学习.NET平台上面的数据结构和算法,那么就需要对System.Collections这个命名空间,以及System.Collections.Generic这个空间下面的一些类型比较了解。 我一般在... 阅读全文
posted @ 2009-04-23 10:09 陈希章 阅读(627) 评论(0) 推荐(1) 编辑
摘要:本文转载自 http://www.cnblogs.com/overred/archive/2009/01/17/1359126.html ArraySegment顾名思义就是Array区块,数组的小抽... 阅读全文
posted @ 2009-04-23 09:35 陈希章 阅读(8545) 评论(0) 推荐(0) 编辑
摘要:排序和搜索是数据结构和算法学习中的两个最基本的操作。关于排序,我在上一篇已经做了比较详细的介绍,请参考 http://www.cnblogs.com/chenxizhang/archive/2009/... 阅读全文
posted @ 2009-04-22 15:12 陈希章 阅读(3281) 评论(0) 推荐(0) 编辑
摘要:该方法采取的排序算法是快速排序算法。有关该算法的一些理论知识,如下 快速排序对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所... 阅读全文
posted @ 2009-04-22 12:06 陈希章 阅读(19540) 评论(0) 推荐(0) 编辑
摘要:位操作符是对数据按二进制位进行运算的操作符。c#位操作符包括: 按位与 & 按位或 | 按位取反 ~ 左移 << 右移 >> 举例说明  public st 阅读全文
posted @ 2008-10-20 14:21 陈希章 阅读(7830) 评论(3) 推荐(1) 编辑
摘要:Swap操作是我们在设计排序算法的时候很经常会用到的,例如比较两个值大小后,要对掉位置。我这篇日志是写出一个通用的方法来作处理。 既然是值的位置对调,就要考虑到数据类型的问题。为了做到这个函数一次编写 阅读全文
posted @ 2008-10-20 10:21 陈希章 阅读(1182) 评论(0) 推荐(0) 编辑
摘要:在研究数据结构和算法的时候,或者你仅仅是在对某段代码的性能心存疑惑想找到问题所在的时候,我们通常都需要能度量和比较代码执行的耗时。大部分时候,我们都可以通过下面这个简单的手段来实现该目的。   阅读全文
posted @ 2008-10-20 09:38 陈希章 阅读(467) 评论(0) 推荐(0) 编辑
摘要:关于二进制、八进制、十六进制以及它们与十进制的关系和转换。详细地请参考下面的文章(写得还不错) http://www.d2school.com/bcyl/bhcpp/newls/ls06.htm 在我 阅读全文
posted @ 2008-09-18 08:20 陈希章 阅读(948) 评论(0) 推荐(0) 编辑
摘要:信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设 阅读全文
posted @ 2008-09-16 18:55 陈希章 阅读(393) 评论(0) 推荐(0) 编辑
摘要:这个范例比较多维数组和锯齿数据的性能差异所谓锯齿数组,是一种特殊的数组,即我们常说的数组的数组。我们所使用的范例是把一年的数据用随机数填充起来如果用多维数组的话,因为预先定义好了维的长度,所以事实上在 阅读全文
posted @ 2008-06-23 16:16 陈希章 阅读(1747) 评论(2) 推荐(0) 编辑
摘要:最近在计划一个动态考试的系统。其中想做到这样的效果,除了比较正规的命题考试外(例如规定5分题多少道,10分题多少道),我们想增加动态随机命题的功能。就是说用户可以自己给定一个题目数,然后程序在题库中随 阅读全文
posted @ 2008-06-13 09:05 陈希章 阅读(1514) 评论(0) 推荐(0) 编辑
摘要:// 一个笼子里有鸡和兔,现在只知道里面一共有40个头,100只脚,鸡兔各有多少只?/** 因为* x+y=40* 2*x+4*y=100* * 进而* 2*x+2*y=80* * 进而* 2×y=20* * 所以* y=10(兔子)* * 所以* x=30(鸡)*/ 更加深入一些,假设头和脚的数目并不确定,例如头的数目是n,而脚的数目是m,那么应该是怎么样的呢? 兔子: y=(m-2*n)/... 阅读全文
posted @ 2008-06-11 18:48 陈希章 阅读(933) 评论(1) 推荐(2) 编辑
摘要:问题陈述: 这是我国古代一道有名的数学难题,要求用100元买100只鸡,其中公鸡五元一只,母鸡三元一只,每种至少买一只,求购买方案,程序中以x代表公鸡,y代表母鸡,z代表小鸡 static void Main(string[] args){ //百钱百鸡问题 for (int x = 0; x < 20; x++) { for (int y = 0; y < 3... 阅读全文
posted @ 2008-06-11 18:36 陈希章 阅读(3309) 评论(4) 推荐(0) 编辑

点击右上角即可分享
微信分享提示