- 博客(90)
- 资源 (13)
- 收藏
- 关注
转载 给将要进入职场的同学 - 开发软件不是闭卷考试
转自http://www.cnblogs.com/xinz/archive/2010/11/27/1889838.html有同学问我这个问题:“你正在做一个项目,这个项目有一项关键的feature需要实现,这个feature有一定的技术难度,你调试了很久,都没找到实现的途径,这时你已经在这个feature上花了很多时间了,而且无法预期解决需要多长时间。在这种情况下,你会怎么做?
2014-01-20 20:31:10 1185
转载 CS面试准备
过去的一年多里,参加了一些面试,虽然面过的公司不多,但都从头一直走到尾。毕竟自己也是花了大量的时间和精力在这一场场的面试里。所以,就絮叨下自己的一些经验,希望能给在美国找实习找工作的同学们提供一点点帮助。 开始前的一些说明:1. 笔者只是一介小本科,虽然留了学,但是留了级,学识浅薄,目光短浅,文章若有不恰之处,恳请各位大牛不吝指正!2. 笔者面试的岗位均为Softw
2013-12-27 18:45:57 1296
转载 C/C++中extern关键字详解
转载自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用
2013-06-24 21:33:59 741
原创 Linux常用命令
系统信息:arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 -(SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuin
2013-04-27 09:24:02 818
转载 Linux内存:内存管理的实质
1. 内核初始化: * 内核建立好内核页目录页表数据库,假设物理内存大小为len,则建立了[3G--3G+len]::[0--len]这样的虚地址vaddr和物理地址paddr的线性对应关系; * 内核建立一个page数组,page数组和物理页面系列完全是线性对应,page用来管理该物理页面状态,每个物理页面的虚地址保存在page->virtual中; * 内核建
2013-04-26 14:37:46 594
原创 Linux进程间通信概述
一、 进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间;B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到;C、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程);D、资源共享:多个进程之间共享同样的资
2013-04-24 11:34:19 696
转载 Linux shell编程入门
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。Linux的Shell
2013-04-22 22:23:02 1042
转载 Linux、Unix与Windows的区别
Linux作为自由软件有两个特点:一是它免费提供源码,二是爱好者可以按照自己的需要自由修改、复制和发布程序的源码,并公布在Internet上。这就吸引了世界各地的操作系统高手为Linux编写各种各样的驱动程序和应用软件,使得Linux成为一种不仅只是一个内核,而且包括系统管理工具、完整的开发环境和开发工具、应用软件在内,用户很容易获得的操作系统。 由于可以得到Linux的源码,所以操作系统
2013-04-22 22:16:40 22860
转载 Spring的工作原理
Spring的工作原理一、 IoC(Inversion of control): 控制反转 1、IoC: 概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系 核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean 二、AOP(Aspect-Oriented Programming): 面向方面编程 1、 代
2013-04-17 19:04:55 663
转载 Hibernate的工作原理
Hibernate的工作原理1.Hibernate 的初始化. 读取Hibernate 的配置信息-〉创建Session Factory 1)创建Configeration类的实例。 它的构造方法:将配置信息(Hibernate config.xml)读入到内存。 一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。
2013-04-17 19:00:35 604
原创 多重继承与虚继承
参考书籍:《C++ Primer》、《Effective C++》 多重继承与虚继承一、 多重继承1.定义多个类:图1多重继承的Panda层次 定义一个抽象 ZooAnimal 类保存所有动物园动物公共信息并提供公用接口,Bear类将包含 Bear 科的独特信息,以此类推。除了实际的动物园动物类的之外,还有一些辅助类封装不同的抽象,如濒临灭绝的动
2013-01-15 09:14:38 1750
转载 海量数据处理方法总结
何谓海量数据处理?所谓海量数据处理,无非就是基于海量数据上的存储、处理、操作。何谓海量,就是数据量太大,所以导致要么是无法在较短时间内迅速解决,要么是数据太大,导致无法一次性装入内存。那解决办法呢?针对时间,我们可以采用巧妙的算法搭配合适的数据结构,如Bloom filter/Hash/bit-map/堆/数据库或倒排索引/trie树,针对空间,无非就一个办法:大而化小:分而治之/ha
2013-01-11 16:23:27 586
原创 海量数据处理面试题
第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几
2013-01-10 22:34:21 485
原创 二次探查再散列Hash表的C++实现
/***************************************************************************** * student.h ***********************************************************************
2012-11-21 22:17:55 2482
转载 图的深度优先(非递归)、广度优先、最小生成树的C++实现
头文件: /***************************************************************************** * algraph.h * * Adjacency List Based Undirected Graph. * * This is a C
2012-11-15 21:12:59 1482
原创 Effective C++学习(一)
条款1:视C++为一个语言联邦(View C++ as a federation of languages)C++是个多重泛型编程语言(multiparadigmprogramming language),同时支持过程形式(Multiparadigm programming language)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(ge
2012-11-11 20:26:33 501
原创 C/C++中内存管理小结
参考《高质量程序设计指南C++/C》一、 内存分配方式:3种:(1) 从静态存储区分配。内存在程序编译的时候已经分配好了,在程序的整个运行期间都存在。如全局变量,static变量等。(2) 在堆栈上分配。在函数执行期间,函数内部变量(包括形参)的存储单元都创建在堆栈上,函数结束时这些存储单元自动释放(堆栈清退)。效率高,但分配的内存容量有限,可能出现
2012-11-09 15:40:34 897
原创 C++ 中 explicit 关键字的作用
C++ 中 explicit 关键字的作用 在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。 explicit使用注意事项:explicit关键字只能用于类内部的构造函数声明上,explicit 关键字作用于单个参数的构造函数。在C++中,如果一个类有只有一个参数的构造函数,C++允许一种特殊的
2012-11-08 17:25:58 592
转载 二叉搜索树的非递归C++实现
师兄的,学习了:http://my.oschina.net/zmjerry/blog/6041头文件:/***************************************************************************** * student.h * * A st
2012-10-29 22:15:37 587
转载 双向链表的C++类模板实现
师兄的,转自:http://my.oschina.net/zmjerry/blog/3653头文件: /***************************************************************************** * doublelist.h * * Doub
2012-10-25 08:08:07 2945
转载 队列的C++模板实现
师兄写的,很好,目前水平尚浅,看不出有什么地方我能改进的转自:http://my.oschina.net/zmjerry/blog/3656头文件: /***************************************************************************** *
2012-10-23 22:42:10 477
转载 栈的C++类模板实现
师兄写的,很好!http://my.oschina.net/zmjerry/blog/3652向师兄学习中,可惜进入实验室前师兄就走了,不然能让师兄指导一些头文件: /***************************************************************************** *
2012-10-23 22:39:48 452
转载 C++的头文件和实现文件分别写什么
转自:http://www.cnblogs.com/ider/archive/2011/06/30/what_is_in_cpp_header_and_implementation_file.html在C++编程过程中,随着项目的越来越大,代码也会越来越多,并且难以管理和分析。于是,在C++中就要分出了头(.h)文件和实现(.cpp)文件,并且也有了Package的概念。
2012-10-22 21:41:42 560
转载 c++中const用法小结
1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。例如:const
2012-10-22 18:54:31 805
转载 C++中的inline用法
一、inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。 表达式形式的宏定义一例: #define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))为什么要取代这种形式呢,且听我道来: 1. 首先谈一下在C中使用这种形式宏定义的原因,C语言是一个效
2012-10-22 17:33:18 28060 5
原创 n皇后问题的非递归迭代算法(C++实现)
//n皇后问题的非递归迭代算法 #include #include using namespace std;class NQueen{private:int numOfQueen;//the number of queensint numOfanswer;//the number of answersint *queen;
2012-10-22 10:00:57 2420
原创 回溯法算法步骤&n皇后问题的详细程序(C++)
/*回溯法有“通用解题法”之称,可以系统的搜索问题的所有解,既有系统性也有跳跃性。它在问题的解空间树中,按深度优先策略,从根节点出发搜索解空间树。算法搜索至洁空间树的任一结点时,先判断该结点是否包括该问题的解,如果肯定不包含,则跳过对以该结点为根的子树的搜索,逐层向其祖先结点回溯;否则进入该子树,继续按深度优先策略搜索。 回溯法解题的三个步骤: (1)针对所给问
2012-10-19 18:47:57 11638
转载 动态加载vs静态加载
动态加载:1:灵活,可以在需要的时候用LoadLibrary进行加载,在不需要的时候用FreeLibrary进行卸载,这样可以不必占用内存。2:可以在没有dll时候发现,而不致程序报错。3:加载程序中有条件才运行的库。4:热更新,在不停止程序的前提下进行更新。5:复杂一些,需要显示获得函数地址。6:dll没有对应的lib文件,此时只能进行动态加载。
2012-10-18 10:55:03 12645 1
原创 C++中文件按行读取和逐词读取
#include #include #include using namespace std; void OutPutAnEmptyLine()//输出空行{cout} //读取方式: 逐词读取, 词之间用空格区分void ReadDataFromFileWBW(){ coutifstream fin( "data
2012-08-31 21:13:25 44675 2
转载 C++中的文件操作
一、ASCII 输出 为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所有这两个文件, 如果你想显式包含他们,那随便你。我们从文件操作类的设计开始, 我会讲解如何进行ASCII I/O操作。如果你猜是"fstream," 恭
2012-08-31 20:38:30 1115
原创 Romberg积分法计算定积分(C语言)
/*-------------Romberg积分法计算定积分-------参考教材:《数值分析》李乃成,梅立泉,科学出版社 《计算方法教程》第二版 凌永祥,陈明逵*///误差界eps%被积函数为f(x)=(x^3+sin(x))/x;积分区间为[0.3,0.8]#include#include#includeint main(void){/* int
2012-03-30 18:48:49 6529 1
原创 Romberg积分法计算定积分(Matlab程序)
%Romberg积分法计算定积分%参考教材:《数值分析》李乃成,梅立泉,科学出版社%《计算方法教程》第二版 凌永祥,陈明逵clear;clc;close all;format long% %被积函数为f(x)=4/(1+x^2);积分区间为[0,1]% b=1;a=0;h=b-a;eps=10^(-5);%误差界eps%被积函数为f(x)=(x^3+sin(x))/x;
2012-03-30 18:48:05 24996 2
原创 函数插值计算(Matlab程序)
%Runge函数插值计算%参考教材:《数值分析》李乃成,梅立泉,科学出版社%《计算方法教程》第二版 凌永祥,陈明逵%Runge函数f(x)=(1+25x^2)^(-1),(-1clear;clc;close all;format short;fprintf('输入N:(5,10,15,20)\n');N=input('');Ni=0:N;%format sh
2012-03-30 18:47:22 4370
原创 对阵正定矩阵的楚列斯基(Cholesky)分解(C语言)
//定理2.2.3:对阵正定矩阵的楚列斯基(Cholesky)分解//设A为n阶对阵正定矩阵,则存在一个可逆的下三角矩阵G,使得//A=GG’,当限定G的对角元为正时,这种分解是唯一的////--------A=GG’的分解算法-------//参考教材:《数值分析》李乃成,梅立泉,科学出版社// 《计算方法教程》第二版 凌永祥,陈明逵#include#inc
2012-03-30 18:46:31 8285
原创 对称矩阵的LDLT分解(C语言)
/*对称矩阵的LDLT分解 定理2.2.2:对称矩阵的三角分解: 设A是n阶对称矩阵,若A的各阶顺序主子式均不等于0,则A可以唯一地分解为 A=LDL’-------------A=LDL’的分解算法-------参考教材:《数值分析》李乃成,梅立泉,科学出版社 《计算方法教程》第二版 凌永祥,陈明逵*/#include#includeint min(
2012-03-30 18:45:56 6409 1
原创 高斯—赛德尔迭代法解线性方程组(C语言)
/*-------------高斯—赛德尔迭代法解线性方程组---------参考教材:《数值分析》李乃成,梅立泉,科学出版社 《计算方法教程》第二版 凌永祥,陈明逵*/#include#includeint main(void){ double A[5][5] = {{28,-3,0,0,0}, {-3,38,-10,0,-5}, {0
2012-03-30 18:45:09 31958
原创 Jacobi迭代法解线性方程组(C语言)
/*-------------Jacobi迭代法解线性方程组---------参考教材:《数值分析》李乃成,梅立泉,科学出版社 《计算方法教程》第二版 凌永祥,陈明逵*/#include#includeint main(void){ double A[5][5] = {{28,-3,0,0,0}, {-3,38,-10,0,-5}, {0
2012-03-30 18:44:32 22741
原创 求解三对角方程组的追赶法(Matlab程序)
clear all;clc;fprintf('输入n:(10,20,30)\n');n=input('');na=zeros(1,n);b=zeros(1,n);c=zeros(1,n-1);A=zeros(n,n);for i=1:n for j=1:n if j==i A(i,j)=2; elsei
2012-03-30 18:43:49 22892
原创 三对角阵的LU分解和三对角方程组的求解(C语言)
/*三对角阵的LU分解和三对角方程组的求解-------------A=LU的分解算法-------参考教材:《数值分析》李乃成,梅立泉,科学出版社 《计算方法教程》第二版 凌永祥,陈明逵*/#include#include#includeint main(void){ int i,j,n; int N; printf("请输入 N(10,
2012-03-30 18:42:32 7263
原创 列主元Gauss消去法解线性方程组(C语言)
//Gauss消去法解线性方程组//参考教材《计算方法教程》第二版,西安交通大学出版社#include#includeint main(void){ float A[7][7]={{3,-5,6,4,-2,-3,8}, {1,1,-9,15,1,-9 ,2}, {2,-1,7,5,-1,6,11}, {-1,1,3,2,7,-1,-2},
2012-03-30 18:41:20 7866
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人