摘要:
在MIT公开课《计算机科学与编程导论》的第五讲中,讲到编写求解平方根的函数sqrt时,提到了牛顿迭代法。今天仔细一查,发现这是一个用途很广、很牛的计算方法。首先,考虑如何编写一个开平方根的函数sqrt(float num, float e)。参数num是要求开平方根的实数,参数e是计算结果可以达到多大误差。这是一个无法得到精确解,只能求出近似解的问题。该如何编写呢?1. 传统的二分法我们可以先猜测一个值作为解,看这个值是否在误差范围内。如果没有达到误差要求,就构造一个更好的猜测值,继续迭代。猜测值可以简单地初始化为num/2,但怎样在下一轮迭代前构造一个更好的猜测值呢?我们不妨参照二分查找算法 阅读全文
阅读排行榜
APUE学习笔记(9)-进程关系
2009-10-27 11:14 by htc开发, 192 阅读, 收藏,
摘要:
写在前面1. 本文内容对应《UNIX环境高级编程》(第2版)》第9章。2. 总结了关于进程关系和作业控制的一些概念。3. 希望本文对您有所帮助,也欢迎您给我提意见和建议。l 可以用ps -o pid,ppid,pgrp,session,tpgid,comm命令,显示进程ID,父进程ID,进程组ID,会话ID,前台进程组ID和命令。l 每个进程除了有一个进程ID之外,还属于一个进程组。进程可以通过调用setpgid加入一个现有的组或者创建一个新进程组。l 每个进程组有一个组长进程,其标识是:进程组ID等于其进程ID。只要组中有一个进程存在,则该进程组就存在,这与组长进程是否终止无关。从进程组创建 阅读全文
相聚就是缘,珍惜!
2009-12-23 19:32 by htc开发, 191 阅读, 收藏,
摘要:
相识就是缘,人与人之间的关系没有必要强求,是有缘分,该发生的事情肯定会发生,没有缘分,如何努力,到头来,可能也是碰壁吃苦,我并不是说人生不需要痛苦和挫折,只是当你看透了所有这些事情后,回过头来思考自己的经历过程,难免会对自己以前的想法和行为感到好笑。事实上,人生太多偶然,命运有时在跟我们开玩笑,这个时候,我们更应该坦然面对这些事情。 人生中的得与失太多太多。计较太多了,只会让我们自己不开心。 生下来,就要活下去,即使活着有时比死亡来的更是困难。我们需要从容面对,用现在比较流行的话就是要“淡定”! 阅读全文
Objective-C语法之Objective-C语言和IOS系统(简介,语法,系统结构)
2012-06-11 20:25 by htc开发, 190 阅读, 收藏,
摘要:
简介Objective-C,是扩充C的面向对象编程语言。它主要使用于Mac OS Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是在C的基础上,加入面向对象特性扩充而成的编程语言。目前,Objective-C主要应用于Mac OS X和iOS这两个NeXTSTEP的衍生系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在任何gcc支持的平台上进行编译,因为gcc原生支持Objective-C。Objective-C的历史1980年代初,布莱德·确斯(Brad Cox)在其公司Stepstone发明Objec 阅读全文
《算法导论》第6章 堆排序 (4)Young氏矩阵
2012-02-22 22:08 by htc开发, 190 阅读, 收藏,
摘要:
1. 什么是Young氏矩阵?一个 m * n 的矩阵,其中每一行的数据都从左到右排序,每一列的数据都从上到下排序。其中用 ∞ 代表不存在的元素,一共可以存放 r ≤ mn 个有限的数。如下面程序实现中用来测试的Young氏矩阵:{ 1, 3, 5, 7, 8, 11 }{ 4, 6, 9, 14, 15, 19 }{ 10, 21, 23, 33, 56, 57 }{ 34, 37, 45, 55,∞, ∞}2. 相关问题及思路2.1实现EXTRACT-MIN的算法,使其运行时间为O(m + n)。参考最大堆的方法MAX-HEAPIFY,两者的相似性是:一个元素 i 的改变,破坏了堆... 阅读全文
浙公网安备 33010602011771号