自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 restrict / __restrict / __restrict__ 关键字

最近在RHEL7上使用字符串拷贝函数wcscpy(),发现出来的结果不对,好像是src的缓冲区被破坏了:int main(){        wchar_tbuf[256] = L"\n \n Total memory used\n Total buffer size\n \n Totalphysical memory used\n Total memory actually used

2014-11-18 18:12:51 8285

原创 VIM + CSCOPE

在Windows下有很多好用的IDE,比如Visual Studio(加上Visual Assist 简直好用到没朋友),或免费的source insight,他们都使得看代码时,可以轻松的查找符号(变量,函数名,宏等)的定义与引用。Linux下也有不少免费且强大的IDE,诸如Eclipse,Code::Blocks,他们都需要额外的安装,过程可能很繁琐。幸运的是,Linux上自带了CSCOP

2014-11-16 22:02:19 8229

原创 CSV的格式

CSV格式没有严格标准,RFC4180试图规范化之。CSV格式的主要麻烦问题在于,如何处理以下几个特殊字符:分隔符、换行、双引号?分隔符都是‘,’。换行UNIX(/n)或WINDOWS(/r/n)。对于双引号,RFC4180有如下规范:http://www.rfc-editor.org/rfc/rfc4180.txt其中第5~7讲到: 5. 字段可用双引号括起。如果一个

2014-08-26 18:48:14 1184

转载 Boot Sector结构、系统启动过程简介

原文地址:http://www.host01.com/article/server/00070002/062140911068484.htmBoot Sector结构、系统启动过程简介解决困扰已久的系统启动过程,可以帮助使多系统共存,而不影响各自启动!Boot Sector结构、系统启动过程简介一. Boot Sector 的组成Boot Sector 也就是硬盘的第一个扇区(注1

2013-05-10 11:36:50 1639

转载 vc编译器各选项含义及说明(值得收藏)

=====vc编译器各选项含义及说明(值得收藏)========    -优化-       /O1   最小化空间   minimize   space     /Op[-] 改善浮点数一致性   improve   floating-pt   consistency     /O2   最大化速度   maximize   speed     /Os   优选代码空间

2012-07-03 12:14:59 1787

转载 function-call stack

Other resource about function-call conventions.http://www.codeproject.com/KB/cpp/calling_conventions_demystified.aspxhttp://www.intel.com/products/processor/manuals/index.htm  Architecture Softwar

2012-06-28 08:32:29 3505

转载 模糊哈希算法的原理与应用

模糊哈希算法的原理与应用Posted on 2012 年 02 月 06 日关于模糊哈希(Fuzzy Hashing)算法,目前网上有几篇中文资料介绍,但均不准确。写这篇文章以纠正,并对其原理和应用作详细的介绍。一、概述模糊哈希算法又叫基于内容分割的分片分片哈希算法(context triggered piecewise hashing, CTPH),主要用于文件的相似性比

2012-05-22 17:24:45 15664

转载 白话数字签名全篇

白话数字签名(1)——基本原理(新!)摘要本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章)。然后我们再逐步深入技术细节,最后将给出一个在B/S信息系统中使用数字签名的DEMO。由于数字签名基于非对称加密技术,所以我们需要先啰嗦一下对称加密和非对称加密技术。对称加密

2012-05-22 14:30:01 3091

转载 data deduplication (Intelligent compression or single-instance storage)

Data deduplication (often called "intelligent compression" or "single-instance storage") is amethod of reducing storage needs by eliminating redundant data. Only one unique instance of thedata is actu

2012-05-21 16:15:47 901

转载 Windows 网络服务架构系列课程详解(一) ---------DHCP服务器的搭建与配置

出处:http://dreamfire.blog.51cto.com/418026/135130实验背景:企业网络环境中在没有配置DHCP服务器时,经常会遇到这样的情况,用户不懂怎么去配置IP地址;IP地址经常冲突;管理员单个配置IP地址会经常出错;笔记本计算机的客户,经常从一个子网移动到另一个子网,需要不断地手动更换IP地址;IP地址资源不足,但实际在同一时间段内使用的用户小于IP地

2012-05-18 14:44:12 7015

转载 关于DHCP原理的讲解

DHCP原理客户发出的IP租用请求报文DHCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCPDISCOVER广播包,请求租用IP地址。该 广播包中的源IP地址为0.0.0.0,目标IP地址为255.255.255.255;包中还包含客户机的MAC地址和计算机名。DHCP回应的IP租用提供报文任何接收到DHCPDISCOVER广播包并且能够提供IP地

2012-05-18 13:53:00 1436

原创 微软面试题:求整数随机数构成的数组中找到长度大于=3的最长的等差数列

求微软面试题:求整数随机数构成的数组中找到长度大于=3的最长的等差数列输出等差数列由小到大: 如果没有符合条件的就输出[0,0]格式:输入[1,3,0,5,-1,6]输出[-1,1,3,5]要求时间复杂度,空间复杂度尽量小网上有动态规划的解法,时间复杂度O(N^3):http://openuc.sinaapp.com/?p=286而本文要提另一种动态规划解法,时间复

2012-05-08 16:43:50 4733 2

原创 动态规划求解01背包相关的基本问题

背包问题是经典问题,网上已经提供了很多优秀的解法,这里摘录动态规则的方法,同时顺便把背包相关的变形问题也一些阐述。问题:1. 经典背包问题:给定一个载重量为m,n个物品,其重量为wi,价值为vi,12. 变形:要求装入的物品重量最大?(问题很简单,但请先别BS我)3. 变形:要求装入的物品重量刚好等于背包的承重?换一种说法就是:N个数里挑出任意个数,使这些数的和等于某个值M。

2012-04-29 22:56:41 2832

转载 [微软]有两个序列a,b,大小都为n,序列元素的值任意整数,无序; 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小

搜了网上的一些文章,看到一个看似很巧的搜索方法,描述于文http://blog.csdn.net/tianshuai11/article/details/7479767中。转述如下:第一种算法:   当前数组a和数组b的和之差为   A = sum(a) - sum(b)   a的第i个元素和b的第j个元素交换后,a和b的和之差为   A' = sum(a) - a[i]

2012-04-29 01:08:28 9203 1

原创 atol源码学习:char转int的细节

看了atol的实现,发现char到int的转换比较奇怪:c = (int)(unsigned char)*nptr++; 先将char转为unsigned再转为int,于是测试了下,发现有如下结果:void main(){    char c = 0x80;    unsigned uc = 0x80;    printf("c2i=%x,c2ui=%x,uc2i=%x,uc2

2012-04-28 00:34:37 2238

转载 [约瑟夫环]n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始... ...

http://www.cnblogs.com/dartagnan/archive/2011/09/16/2179143.html[约瑟夫环]n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始... ...题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删

2012-04-28 00:29:22 1768

转载 求斐波那契 (Fibonacci) 数列第 n 项的算法

最近看算法导论的习题时联想到 SICP 的一条习题后想到的,折腾了下,得到了几种算法,不同的算法时间复杂度有 Θ(a^n), Θ(n), Θ(lg(n)) 几种。时间复杂度为 Θ(lg(n)) 的算法 比较有意思。下面一个个说,具体算法用 Common Lisp (CL) 实现,至于为什么用 CL 我在文章最后说明。约定符号 ^ 表示乘方运算。F(n) 表示 Fibonacci 数列的第

2012-04-27 20:46:13 5962 2

转载 [备忘]收集的一些题集(更新中)

前言:以下为本人收集的一些题目与解答,文中的大多题目难度并不会太高,仅是本人觉得比较有趣并且又不需要太多专业知识即可解答,不会太伤脑,仅供大家闲暇时把玩。想要专业算法的网友还请绕道!^_^本中解答较多来自网络,本中也标明了出处,有些解答则仅为本人见解,鉴于水平非常有限,其中有必有诸多疏漏,仅供参考!还望广大网友一起更正与完善!先谢过各位大神!~~---------------------分割线

2012-04-25 22:41:48 2355

转载 连续子序列的若干问题

最大和:太经典的问题。不说了。对于最大积问题: 由于负数的存在,我们不能简简单单只存一个当前最大值,我们还需要存当前最小值。 我们令F(n)表示[0,n]区间内以d[n]为结尾的最大积,令G(n)表示[0,n]区间内以d[n]为结尾的最小积,d为原序列,那么有: F(n + 1) = Max{F(n) * d[n + 1], d[n + 1], G(n) * d[n

2012-04-19 01:19:36 1271

转载 二叉查找树查找后继,前驱的问题

二叉查找树按照二叉树进行组织。二叉查找树关键字的存储方式总是瞒住二叉查找树性质:设x为二查查找树种一个节点。如果y是x的左子树中的一个节点,那么key[x] >= key[y]。如果y是x的右子树的一个节点,那么key[x] 这样对二叉查找树进行中序遍历就可得到书中所有元素的一个非降序排列。查找某一个存在节点的前驱和后继。某一个节点x的后继就是大于key[x]的关键字中最小的那个节点,

2012-04-17 10:58:57 3530

原创 一道题:给一个字符串,和一个字符集,求该字符串包含所有字符集的最短子串

比如字符集“abc”.个数为M。字符串:“xxxbxxaxbxxbaxxaaxxcxx”可知要求的最短子串是:baxxaaxxc。仔细分析最短串发现:1。b与c在最短串中仅出现一次,正好是一头一尾。2。中间的字符a,在最短串中可能出现了多次,但对于a而言如果只看它最后一次出现在最短串中,则之前不管是否出现过的都是无所谓的,比如最短串部分改成“bxxxxaxxc”,并不影响结果。

2012-04-16 21:39:52 3257

转载 一些信息安全网站

Programming/Coding   [Bash] Advanced Bash-Scripting Guide – http://tldp.org/LDP/abs/html/   [Bash] Bash shell scripting tutorial – http://steve-parker.org/sh/sh.shtml   [Bash] Bourne Shell Refer

2012-03-25 22:42:20 2252

原创 快排,非递归;单链表快排;单链表归并

笔面的高频问题。又是现场没答出来,回来再马后炮:用栈实现:1。每次把支点的右段入栈(当然只记录该段的起始与结束标记);2。然后继续对支点的左段重复过程1,若左段的元素小于2个,则不需要再重复1,转到3;3。左段已排好,从栈中取出最新的右段,转到1,若栈空则结束。代码如下:// HelloWorld.cpp : 定义控制台应用程序的入口点。//#include "st

2011-10-24 22:32:20 1994

原创 一道笔试题,去除首尾空白符,中间若有连续空格则保留一个,若出现换行则保留一个换行

比如:"  \n  \n  a b  \nc \n  \n\nc\nde f    g\n\nhi\n\n\n  \n  "处理后变为:“a b\nc\nc\nde f g\nhi”这里,空白符只考虑空格和换行,若连续的空格超过两个,则留一个;若连续空白符中出续换行,则留一个换行而不留空格。实现过程比较绕,写下面备忘。1. 先分别去除首尾空白符。这比较简单,只不过要注意

2011-10-22 17:43:39 1318

原创 二叉树的恢复

最近笔面老碰上这类题,老忘,因此写个备忘。二叉树的三种遍历常用于恢复:先序,中序,后序。对于先+中,后+中这两种组合,对任意二叉树的恢复都有唯一解,但对先+后的情况则不是,这种情况下要满足要求:对所有非叶节点,其两个子节点都存在,也即,一个节点要么是叶节点,要么有两个节点

2011-10-14 21:33:07 7199 1

原创 先序+中序恢复二叉树,非递归

二叉树的存储与恢复问题。先,中,后,任意两个序列就能完全确定一个二叉树。恢复该二叉树可用递归函数,先序的第一个节点为根节点,它把中序分成两部分,左部为该根节点的左子树,右边为右子树,因此,可递归的构造出完整的二叉树。具体的递归实现可参考:http://www.dutor.

2011-09-12 16:16:31 4797

原创 二叉树非递归遍历

三种顺序,前、中、后序。递归版的比较好写,但当树很大时容易导致栈溢出,因此,非递归版的才更有实用价值。参考网上的一些优秀例子,自己也写了下,对后序遍历做了改进。用栈实现,模拟递归过程,前,中序不需要加标志位,而后序则麻烦一些,需要加标志位,标记节点是否二次入栈。代码注

2011-09-10 12:22:10 2264

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除