考一道数据结构+算法的题
做题:数组运算
给定长度为N的两个数组a[],b[],要求不使用额外空间和除法运算,得出时间为O(n)的算法完成:
Use bitwise operators only on unsigned operands
写了几行C代码, 总是出不来预料的结果, 后来google下, 原来, 对signed int 进行bitwise的结果是依赖于实现的, 特别是不能在&,|两边混用signed/unsigned
e.g.
int i=123456;
unsigned j=-1U;
i&~(j
饭后消化(算法)
有A,B两堆石子,分别为m,n个。有以下两种方法取石子:
(1)可以从任意一堆取出任意多的石子;
(2)可以从两堆中取出同样多的石子;
规则:每人一次,交替进行,最后一个取完所有石子的人胜出;
(例:若m=2,n=1,按照以上方法谁先取,谁必输。)
现在要求由你先开始,编程实现输赢情况
Input:
1 2
1 3
2 4
Output ...
关于多线程及什么时候使用多线程
多线程使用System.Threading类
以下是一个例子
class Fibonacci
{
//share
public static int [] item; //read from it
public static int[] result; //write into it
//instance
public int N { get { return _n; } }
public int _start, _end;
private ...
R语言
第五届中国R语言会议
一些材料:
李舰:基于R和pentaho的全套开源BI平台的实现
周涛:个性化推荐的十大挑战
肖凯:30分钟学会ggplot2
邱怡轩:R中大规模数据的整理和分析
潘岚锋:用bignmf进行非负矩阵分解
王剑:COS沙龙介绍
魏太云:knitr与动态报告生成系统
陈丽云:统计辟谣训练营
邓一硕:R与金融投资分析的框架
孟生 ...
大家无聊来做做题
设有很大的一堆数,共奇数个,除了1个数外,每个数出现偶数次,找出这个数,复杂度尽量小
精华
如何使用VS在64位操作系统中将程序编译成64位程序
如何在VS2008中编译64位程序 收藏
安装64位操作系统不是编译64位程序的必要条件,关键是要装64位程序的编译器。虽然标题写着如何在VS2008中编译,但其实2005也是类似。
1. 选择“Build” – “Configuration Manager”菜单,打开配置管理器。点击新建解决方案平台。
2. 选择“x64”平台,点击确定按钮。
3. 这时 ...
GSL科学计算库
wiki介绍 http://en.wikipedia.org/wiki/GNU_Scientific_Library
GSL官网:http://www.gnu.org/software/gsl/
比math.h强大,下载直接include就可以调用。在Linux C下使用方便,好像也有别的语言版本。
Features
The software library provides facilities for:
Basic mathematical functions
Complex numbers
Polynomia ...
C#多线程中lock的用法详解
经常碰到同时需要对某个数据进行操作,或者对某个文件进行读写操作,对于这些操作我们以前往往不能很好的进行处理,自从C#语言中引入了lock这个关键字,以上问题就比较容易予以解决了,下面就是一段简单的代码。
public class AccessControl()
{
private static object privateObjectLock = new object();
publ ...
libsvm_2.6程序分析(pdf)
(matlab版本)
感谢 @Fth-Hokage 的分享~~!!
浅析C#编程中的内存管理
C#编程的一个优点是程序员不需要关心具体的内存管理,尤其是垃圾收集器会处理所有的内存清理工作。虽然不必手工管理内存,但如果要编写高质量的代码,还是要理解后台发生的事情,理解C#的内存管理。本文主要介绍给变量分配内存时计算机内存中发生的情况。
C#将数据分为两种:值数据类型和引用数据类型,这两种数据类型存储 ...
《C#字符串和正则表达式参考手册》PDF下载
据说这是经典,虽然我也没看过
推荐一款C/C++/C#代码辅助工具——Visual Assist X
之前一直在VC6.0里面用,现在发现原来新版的VA也支持VS2008了。所以分享下。
灰常喜欢他的自动提示和补全功能。虽然VS里面C#自动提示也已经非常好了,但是太习惯用VA。
VA_X_Setup1724 是安装文件,先装这个
3ddown.com_Patch_setup 是破解文件。
...
Linux下的c#编译环境
Linux下的C#编译环境MONO已经安装在我们的合作单位服务器上,如果有需要可以给我写信
有件事情尚待证实,经过我的实验,似乎同等配置的机器,Linux系统可以分配一个更大的数组。
比如,我们的16G内存机器上,new double[250000000]肯定会内存溢出。但是Linux系统刚才我实验了一下,貌似没有问题...
...
推荐大家使用Alglib
做各种优化问题时候
有一个C#的开源工具包,我用了之后觉得还不错,叫做Alglib
www.alglib.net
来一道很难的算法题
以往我们求均值, 一般做法是, 出一堆数的sum 以及 这一堆数的个数n , 然后 sum / n 。
现在问题来了, n 已经超出了机器的表示范围,long , double 来表示n都呈负数,更不用说sum 了。
如何求这一堆的数的均值???(假设这一堆数可以一个个读取) ...
openMP加速
类似CUDA的openACC,加一条代码就实现加速。首先要开启openmp的支持,GCC加-openmp一起编译,VS开发打开openmp支持。
参考这个文章 http://www.eyeler.com/article-8-1.html
精通正则表达式(第三版,影印版)pdf
见文档更新:
http://datamining.xmu.edu.cn/documentation/
下载地址:
http://datamining.xmu.edu.cn/documentation/books/mastering_regular_expressions.pdf