自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

飞在天空的鱼

业余程序员,主业搬砖

  • 博客(8)
  • 资源 (5)
  • 收藏
  • 关注

原创 你的for循环真的高效吗——优化for循环第一章

在我们所写的程序中,几乎没有不用到for循环的,但是,对于for循环,很多人确实效率很低的,包括我看得很多代码,for循环的执行效率非常低,下面我就举个例子来说明:#include char *string="zhangbo";int main(int argc,char **argv){ int i; for(i=0;i这个上边的程序程序我想大家都明白,那我问问读者,你知道这个程序的效率是多少吗?你肯定不屑的说,不就是n吗?其实,你错了,你说的n只是在算法层面上的优化,其实对于底

2011-05-29 18:32:00 16215 21

原创 百万年薪的算法题解决方法

<br />这个问题的地址是:http://mitibar.com/superdrink.php<br />我只是解决了这个问题,并无入职那个公司的打算。<br /> <br />第一种是:遗传算法<br />这个问题可以抽象成数学模型是这样的:我有一个有向图G,他有n个节点,其中任意一个节点a都有到另外n-1个节点的路径!例如3个节点的图可以这样解释:(图差不进去)<br /> <br /> 箭头我没画,太难了,呵呵!每个路径上有一定的费用,我们要经过每个点,然后回到起点(起点是任意的),经过的点可以重复

2011-05-28 17:20:00 1930 3

转载 Linux套接字编程中的五个隐患

在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API 的现代语言。该 API 相当简单,但新的开发人员仍然会遇到一些常见的隐患。本文识别那些隐患并向您显示如何避开它们。隐患 1.忽略返回状态第一个隐患很明显,但它是开发新手最容易犯的一个错误。如果您忽略函数的返回状态,当它们失败或部分成功的时候,您也许会迷失。反过来,这可能传播错误,使定位问题的源头变得困难。捕获并检查每一个返回状态,而不是忽略它们。考虑清

2011-05-26 23:13:00 1432 4

原创 Linux/Unix网络编程之UDP的connect函数

对于linux网络编程,我们都知道UDP是发送数据报,而且,我们只要在sendto函数中指定你要发送的端口和IP地址就可以了,我们不用绑定端口和IP。但是,如果对UDP进行connect函数的调用,会发生什么现象呢?有了这个能力,我们可以分为两个种:1,未连接的UDP,新创建的UDP套接字就是这样的。2,已连接的UDP,调用connect函数就是这样的。其中,已连接的毕未连接的多了三个变化:1,我们再也不能给输出操作指定目的IP和目的端口。也就是说,我们不能调用sendto,而是用write或者send。写

2011-05-24 23:54:00 4769 5

原创 组合问题

<br />今天我开始看了第四卷的组合问题的开始,组合问题一般是分为五种:<br />1,存在问题:符合问题的模式一共有多少种。<br />2,构造问题:如果存在排列X,你怎么快速的找到。<br />3,枚举问题:多少种不同的排列X。<br />4,生成问题:如何系统的生成所有的X1,X2,...,Xn。<br />5,优化问题:给定目标函数f,何种排列可以使f(X)的值最大或者最小。<br /> <br />组合问题涉及很大的数据量,举个例子:<br />对象为2n个数,{1,1,2,2,...,n,n}

2011-05-22 17:18:00 1068

转载 Linux/Unix编程中的线程安全问题

线程安全介绍在目前的计算机科学中,线程是操作系统调度的最小单元,进程是资源分配的最小单元。在大多数操作系统中,一个进程可以同时派生出多个线程。这些线程独立执行,共享进程的资源。在单处理器系统中,多线程通过分时复用技术来技术,处理器在不同的线程间切换,从而更高效地利用系统 CPU资源。在多处理器和多核系统中,线程实际上可以同时运行,每个处理器或者核可以运行一个线程,系统的运算能力相对于单线程或者单进程大幅增强。多线程技术让多个处理器机器,多核机器和集群系统运行更快。因为多线程模型与生俱来的优势可以使这些机器或

2011-05-19 20:10:00 4744

转载 vector的用法

<br />介绍<br />这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。<br /> <br />Vector总览<br />vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,

2011-05-18 20:56:00 778

原创 蓦然回首——我看过的书

大学中,花了不少银子买书,我看过的书,我具体把我看的书总结一下,大学教材除外,个人感觉大学教材就是个废!一下就是我在大学里看完的书,大学光买书就花了我3000啊! 《C语言程序设计》:这本书很薄,但是是一本值得你去多次看的书,知道我现在还会时不时的去翻翻这本书,初学者能很快的去掌握基本东西,但是,对于真正喜欢C语言的人来说,C值得你用一辈子去追求! 《unix环境高级编程》:本书虽

2011-05-16 13:06:00 1335 1

Xilinx_Vivado_SDK_2014.4_1119_1_Win64

Xilinx_Vivado_SDK_2014.4_1119_1_Win64

2015-04-07

windows下的虚拟机

windows下的虚拟机

2012-06-13

制作光盘镜像工具

制作光盘镜像工具

2012-06-13

uml和rose建模复习题

uml最全的复习题,也可以作为我们的总结题,不管是考试还是学习!

2011-01-11

the art of computer progrem

计算机程序设计艺术,这本书,我就不用在评论了吧!

2010-12-25

空空如也

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

TA关注的人

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