自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (3)
  • 收藏
  • 关注

转载 STL list "list iterator not incrementable"

这几天在vc.net下写一个小东西,涉及到list的使用.程序运行到使用erase删除list中某个元素的时候,会弹出异常对话框,提示的异常为:”list iterator not incrementable”.调试检查半天无果,就特意写了一个小程序测试:#include #include #include using namespace std; int main() {

2012-11-22 15:40:23 5463

转载 n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m

题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。思路1:既然题目有一个数字圆圈,很自然的想法是我们用一个数据结构来模拟这个圆圈。在常用的数据结构中,我们很容易想到用环形列表。我们可以创建一个总共有m个

2012-11-22 13:33:36 1718

转载 利用函数申请内存的几个问题

本文转自:http://buptdtt.blog.51cto.com/2369962/832201在下面的例子中,GetMemory1是想通过形参返回动态申请的内存的地址,这个时候只能用二重指针,如GetMemory2所示。还可以通过return语句将申请的内存地址返回,即:把GetMemory1的返回值类型改成char*,在函数体内添加语句: return p;。#include

2012-11-22 09:47:05 1032

原创 找出最小的k个元素,不需要按顺序输出。已知k很小。在k小到一定程度的时候,有比大顶堆更快的方法。

构造一个sqrt(n)元堆:每个节点有sqrt(n)个子节点,每个节点使用线性搜索从子节点中找最小元素。这个堆的深度只有2。构造堆需要约n+sqrt(n)次比较。每次弹出一个元素需要2*sqrt(n)次比较,弹出k个就需要2*k*sqrt(n)次。这个数比二元堆的k*log(n)要大。 传统方法是构造一个二元大顶堆,里面最多保留k个元素,遍历n个元素,堆里的元素超过k个了就弹出一个。这样总的复

2012-11-22 00:48:11 786

原创 有1000000头奶排着队,已知每只奶牛的身高,每只奶牛能看到自己前面比自己矮的奶牛,直到被一只比自己高的奶牛挡住。求出每只奶牛分别能看到几只前面的奶牛。

有1000000头奶排着队,已知每只奶牛的身高,每只奶牛能看到自己前面比自己矮的奶牛,直到被一只比自己高的奶牛挡住。求出每只奶牛分别能看到几只前面的奶牛。   思路:设int数组cow里存有每个奶牛的身高。int数组count里存每个奶牛能看到前面的奶牛的个数,这个数组初始化为0.假设count[i]已经求出。如果cow[i-1]cow[i],那么count[i-1]至

2012-11-21 03:01:56 1047

原创 程序员面试高频算法题

0. 请计算x的二进制表示中1的个数;计算x按比特左右反转的数;计算x使得当a=0时x=y,否则x=z;计算x的平方根……但是都不许用if、while、do-while、?:表达式,也不许用&&和||这两个运算符,不许调用子函数。   应用:一些计算密集型的算法对分支很敏感,分支预测失败,就会浪费很多时间。if/while/do-while/?:以及短路运算符一般都是用控制流实现的。

2012-11-20 13:42:23 1210

转载 分布式搜索之索引分区

转自:http://geek.renren.com/?tag=%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95什么是倒排索引(Inverted Index) ?是搜索引擎最核心的数据结构,通过对document里面的数据进行切词并建立term到document的反向映射,来达到根据用户的query来快速定位想要查找的document。为了方便理解大家可以假设

2012-11-17 11:29:16 5419

原创 用于加密的哈希函数

用于加密的哈希函数(Cryptographic Hashing Function)具有什么样的特点呢?A cryptographic hash function is a hash function; that is, an algorithm that takes an arbitrary block of dataand returns a fixed-size bit str

2012-11-17 04:39:12 4795

原创 杨氏矩阵查找

先看一个来自算法导论习题里6-3与剑指offer的一道编程题(也被经常用作面试题,本人此前去搜狗二面时便遇到了):    在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。    例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字6,则返回true;如果

2012-11-16 03:23:37 4793 1

原创 Linux: checking battery state 启动后停止不动

问题:我写了一个程序,这个程序会占用很多的内存。从terminal运行这个程序,结果程序跑到一半出现了“Swap space is not enough”错误,并停止运行。之后,再从terminal运行任何程序都出现“Swap space is not enough”错误。于是打算重启电脑。重启后,电脑黑屏,并出现checking battery state的字样,无法进入GUI界面。按Alt+F

2012-11-15 06:43:01 5722

转载 Launching Tasks in the Foreground and Background

Launching Tasks in the Foreground and BackgroundSuppose you have a long-running task (for example, compiling a large program) that you need to run, but you also want to get some other work done. Lin

2012-11-14 12:10:24 1093

原创 syntax和semantics的区别

syntax研究的是句法,或者说是语言的结构,这无关乎语言实体的含义。semantics研究的是语义/含义。对于同一个的语义,不同的语言会采用不同的句法来构成句子。例如:x += yC, C++, C#, Java, Perl, Python, Ruby, PHP, etc.x := x + yALGOL, BCPL, Simul

2012-11-13 13:35:03 14327

原创 请自己写出strcpy函数

char s[100]="1234";  strcpy(s+3,s);  printf("%s",s); 输出结果是1231234234 不理解这是为什么? ------------------------------------------------ 已知strcpy函数如下所示:char * strcpy(char *dest, char *source) {

2012-11-12 15:09:42 5530

原创 对称密码体制Vs公钥密码体制

对称密码体制的缺陷: 密钥分配问题:通信双方要进行加密通信,需要通过秘密的安全信道协商加密密钥,而这种安全信道可能很难实现 密钥管理问题:在有多个用户的网络中,任何两个用户之间都需要有共享的密钥,当网络中的用户n很大时,需要管理的密钥数目非常大,为n(n-1)/2没有签名功能:当主体A收到主体B的电子文挡(电子数据)时,无法向第三方证明此电子文档确实来源于B。公钥密码体制重点考察三个领

2012-11-12 13:34:35 10517

原创 不可逆加密算法

不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。不可逆加密算法不存在密钥保管和分发问题,非常适合在分布式网络系统上使用,但因加密计算复杂,工作量相当繁重,通常只在数据量有限的情形下使用,如广泛应用在计算机系统中的口

2012-11-12 13:17:14 4033

转载 加密的TCP通讯全过程

转自:http://blog.csdn.net/laotse/article/details/5910378首先3个概念,1、不可逆加密2、可逆对称加密3、可逆非对称加密1、不可逆加密,大家最熟悉的一种,md5 sha1就是,加密后就不能解密,只能用于存储密码和校验文件变动,不能用于网络通讯。2、可逆对称加密,用一个钥匙把内容加密,只要有这个钥匙的人就可以解密,就像登录wi

2012-11-12 13:00:57 2435

转载 RSA加密算法的基本原理

1978年   RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它。但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解。我们经过整理和改写特别推荐给大家阅读,希望能够对时间紧张但是又想了解它的同事有所帮助。   RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA以它的三个发明者

2012-11-12 12:26:10 3881

原创 为什么现代密码学中的安全是基于密钥的保密性的,而不是古典密码学的算法的保密性?

现在的密码必须经过无数人的检验,证明没有陷门!如果你不公开,没人相信你算法的安全性。很多算法后来都被证明时不安全的。简单的说,现代密码学的三大基础:1、大素数的引入;3、算法的不可逆性;2、基于计算机运算而非手算。基于这三点,现代密码学中,“加密算法”的复杂程度要远远超过“要加密内容”本身,而古典算法中,加密算法与加密内容强度大致相同,或处于同一数量级。我记得不是所

2012-11-12 11:58:41 14412

原创 linux:如何在命令行执行命令序列

如果想顺序地执行两个或者多个命令,执行时不管他们是success还是failure,你可以用分号;把你的命令序列串起来。例如,$ mycommand1 ; mycommand2In this example, mycommand2 will be executed after mycommand1 have been accomplished.执行下一个命令,当且仅当前一个命令

2012-11-12 05:08:44 4899

转载 Linux IO重定向/IO Redirection

IO RedirectionUNIX had the concept of IO redirection long before DOS copied and bastardised the concept. The UNIX IO redirection concept is fundamental to many of the things that you can do with UNI

2012-11-09 03:58:07 3655

原创 Google笔试题,关于机器分配任务的顺序

有一台机器,上面有m个储存空间。然后有n个请求,第i个请求计算时需要占R[i]个空间,储存计算结果则需要占据O[i]个空间(其中 O[i]算法也应该能够判断出无论如何都不能处理完的情况。比方说,m=14,n=2,R[1]=10,O[1]=5,R[2]=8,O[2]=6。在这个例子中,我们可以先运行第一个任务,剩余9个单位的空间足够执行第二个任务;但如果先走第二个任务,第一个任务执行时空间就

2012-11-07 16:05:21 4996

原创 聚会-朋友圈(贪心法)

你有一群朋友,总数为N. 你的这些朋友之间,可能相互认识,也可能不认识。你需要请他们来参加你的聚会。要求是,请来的每个人,他认识的人的数量超过5,不认识的人的数量也超过5.请你设计一个算法,使得聚会的总人数最大。思路:对于这群朋友中的每一个人,如果他认识的人少于5或者不认识的人少于5,那么就把他去掉。这样,不断循环检查剩下的人,直到剩下的每个人认识的人超过5且不认识的人

2012-11-07 07:39:31 4391

转载 Python Generator

Generators functions allow you to declare a function that behaves like an iterator, i.e. it can be used in a for loop.Simplified CodeThe simplification of code is a result of generator f

2012-11-06 13:47:03 2335

转载 The power of Python's yield

Computing permutationsWhat is a permutation? Reading from my local copy of Wikipedia: Permutation is the rearrangement of objects or symbols into distinguishable sequences. Each unique

2012-11-05 13:33:14 1601

转载 Python Yield versus Return

As coders, we are familiar with how function calls work in Python or C.  Whenever we call a function, the function gets a private namespace where its local variables are created.ReturnThe return s

2012-11-05 13:30:25 1991

转载 Linux下关机命令的区别 (halt,poweroff,reboot,shutdown,init)

在linux下一些常用的关机/重启命令。1.shutdown    shutdown命令安全地将系统关机。    有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。而在系统关机前使用shutdown命令﹐系统管理

2012-11-04 16:52:03 26560 2

Monte carlo模拟的Mathematica代码

本文件是用Mathematica代码编写的Monte carlo模拟。 包含均匀分布,指数分布,以及均匀分布在圆和球面上的点。

2010-04-10

网格搜索法--求公切线算法

网格搜索法--求公切线算法。Mathematica程序。

2009-07-08

北邮通信电子电路自测题

这是本人在北邮学习期间,搜集的通信电子电路自测题。老师给的。很有价值。

2009-07-08

空空如也

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

TA关注的人

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