编程狗的博客
2017年5月22日星期一
有理数和无理数分布问题(一)
中学的时候就大概知道实数,还以为这个问题很简单。现在又学了《数学分析》,才惊叹用了这么多年的实数,到底是个什么鬼?
戴德金定义了一种分割,将全体有理数划分成两个非空集合$A$,$A'$,则满足$1.$任意有理数,必在且仅在$A$与$A'$二集之一中出现。$2.$集$A$内的任一有理数$a$必须小于集$A'$内的任一有理数$a$.$A$叫做上组,$A'$叫做下组。
现在想象一个数轴,在这个数轴上标记一个点$s$,如果这个点是有理数,那么以$s$作为分割,大于等于$s$的数归为上组,剩下的归为下组,在上组中,有最小值$s$,在下组中,无最大值,我们就定义了一个划分。这个划分确定了有理数$s$。
我们用这种方式能否定义数轴上任意一个点呢?考虑以$r$的划分,其中$r^2\verb|<|2$的划分放在$A$中,$r^2>2$的划分放在$A'$中,问题是$r$可以放在上组或者下组里面吗?考虑正整数$n$,
2017年5月16日星期二
求解n!的近似,斯特林公式(Stirling)的推导
在排列组合中,$n!$的求解是不厌其烦的被用到,用高性能的计算机一个一个的求解也会花费$O(n)$的时间。有没有一种办法找到一个近似于$n!$的公式呢?下面的推导过程可能很low,但是蕴涵的数学思想还是值得学习的。
2017年5月14日星期日
时间复杂度为1的求解fibonacci数方法
求Fibonacci数可以用一种通用的方法,得到时间复杂度为O(1)的解,下面是一个例子。这个公式涉及到求n次方问题,如果你自己写了一个n次方的函数,复杂度可能是O(n)或者O(lgn)了,在Java上,源码是用了C的类库,优化后可以认为复杂度为O(1)。
2016年12月4日星期日
[Linux Net]:3 如何用wireshark和tcpdump抓包
网络程序员应该掌握抓包的技能,学会用wireshark或tcpdump调试网络错误。要学习Linux网络,务必多动手抓包,本章意在教你如何抓包。
Labels:
编程
,
翻译计划
,
linux
,
linux-training.be
2016年12月1日星期四
[Linux Net]:2 如何配置Linux网卡
这一章介绍Linux下如何配置网卡上网。涉及的命令有:ifup/ifdown,ifconfig,dhclient,hostname,apr,route,ping,ethtool
Labels:
编程
,
翻译计划
,
linux
,
linux-training.be
2016年11月21日星期一
2016年11月20日星期日
[Linux Fun]:8 如何处理文件夹
文件处理是*nix最基本的操作,本文示范如何在*nix上进行最基本的文件夹操作。
Labels:
编程
,
翻译计划
,
linux
,
linux-training.be
2016年6月21日星期二
如何写一个HttpClient[1]——URI的处理
在翻阅apache的http client的代码的时候,看到org.apache.http.client.utils.URIBuilder.java的写法,感觉甚妙。特意分析一下源码,并且对比几种不同的URI写法。
Apache的HttpClient
2016年6月16日星期四
[GFW] 蓝灯Lantern如何在服务器(vps)无界面运行
蓝灯(lantern)在无界面的linux下运行的时候,会遇到一个错误:
error: while loading shared libraries:libappindicator3.so.1 cannot open shared object file: No such file or directory
错误原因是蓝灯运行需要加载一个系统托盘的类,这个类的作用就是出现一个最小化的图标.