o*s
2 楼
Anyone can recommend one in the Phoenix valley?
Thanks a bunch!
Thanks a bunch!
g*y
3 楼
不需要BST吧
想想x^2 = a方程的数值解法(弦切,弦割法)
想想x^2 = a方程的数值解法(弦切,弦割法)
p*o
4 楼
你的意思是说
随便取两个点,切x轴,找到第三个点,
然后用这第三个点和前边两点中的一个点
接着做。
看到网上列出来很多方法
http://en.wikipedia.org/wiki/Methods_of_computing_square_roots
如果面试的时候,不知道哪个方法比较好。
【在 g*******y 的大作中提到】
: 不需要BST吧
: 想想x^2 = a方程的数值解法(弦切,弦割法)
随便取两个点,切x轴,找到第三个点,
然后用这第三个点和前边两点中的一个点
接着做。
看到网上列出来很多方法
http://en.wikipedia.org/wiki/Methods_of_computing_square_roots
如果面试的时候,不知道哪个方法比较好。
【在 g*******y 的大作中提到】
: 不需要BST吧
: 想想x^2 = a方程的数值解法(弦切,弦割法)
g*y
5 楼
Babylonian method 这个跟弦切还是弦割(忘了是哪个)是等价的
面试的时候说一个就不错了,又不是面试数学家或者数值计算专家
【在 p****o 的大作中提到】
: 你的意思是说
: 随便取两个点,切x轴,找到第三个点,
: 然后用这第三个点和前边两点中的一个点
: 接着做。
: 看到网上列出来很多方法
: http://en.wikipedia.org/wiki/Methods_of_computing_square_roots
: 如果面试的时候,不知道哪个方法比较好。
面试的时候说一个就不错了,又不是面试数学家或者数值计算专家
【在 p****o 的大作中提到】
: 你的意思是说
: 随便取两个点,切x轴,找到第三个点,
: 然后用这第三个点和前边两点中的一个点
: 接着做。
: 看到网上列出来很多方法
: http://en.wikipedia.org/wiki/Methods_of_computing_square_roots
: 如果面试的时候,不知道哪个方法比较好。
z*8
8 楼
为什么不用迭代法呢?
看看游戏Quake里面的算法吧:
float SquareRootFloat(float number) {
long i;
float x, y;
const float f = 1.5F;
x = number * 0.5F;
y = number;
i = * ( long * ) &y;
i = 0x5f3759df - ( i >> 1 );
y = * ( float * ) &i;
y = y * ( f - ( x * y * y ) );
y = y * ( f - ( x * y * y ) );
return number * y;
}
看看游戏Quake里面的算法吧:
float SquareRootFloat(float number) {
long i;
float x, y;
const float f = 1.5F;
x = number * 0.5F;
y = number;
i = * ( long * ) &y;
i = 0x5f3759df - ( i >> 1 );
y = * ( float * ) &i;
y = y * ( f - ( x * y * y ) );
y = y * ( f - ( x * y * y ) );
return number * y;
}
m*f
9 楼
i = 0x5f3759df - ( i >> 1 );
?
?
m*f
11 楼
explaination can be found here http://en.wikipedia.org/wiki/Fast_inverse_square_root
but I guess I will not use this as an answer in an interview...how could I
explain to
the interviewer without understanding it...
【在 z*********8 的大作中提到】
: 嗯我也不知道这个magic number哪里来的, 所以才显示出这个算法的神奇和伟大
: google一下或许会有解释
but I guess I will not use this as an answer in an interview...how could I
explain to
the interviewer without understanding it...
【在 z*********8 的大作中提到】
: 嗯我也不知道这个magic number哪里来的, 所以才显示出这个算法的神奇和伟大
: google一下或许会有解释
g*y
12 楼
有本事写出这样code的人,绝对不会上这个版的,甚至找工作都不需要面试,要么就是
若干公司恳求他去参观一下,我觉得。
【在 m*****f 的大作中提到】
: explaination can be found here http://en.wikipedia.org/wiki/Fast_inverse_square_root
: but I guess I will not use this as an answer in an interview...how could I
: explain to
: the interviewer without understanding it...
若干公司恳求他去参观一下,我觉得。
【在 m*****f 的大作中提到】
: explaination can be found here http://en.wikipedia.org/wiki/Fast_inverse_square_root
: but I guess I will not use this as an answer in an interview...how could I
: explain to
: the interviewer without understanding it...
a*n
14 楼
John Carmack 偶像啊,ID 的创始人,曾经每天16个小时coding, 坚持了十多年
30岁就进名人堂了,当年微软为了推directX 3.0, 盖茨专门找他咨询的,
有本关于ID software的传奇历史的书, DOOM启示录,很多关于他的内容
不过quake 3 之后他的兴趣转向航天了。。。
ID software 公布过很多他们的产品的source code, 因为JC 是忠实的open source 拥护者, 曾经试图读过他的code, 全是纯C写的,很难读。。。
【在 g*******y 的大作中提到】
: 有本事写出这样code的人,绝对不会上这个版的,甚至找工作都不需要面试,要么就是
: 若干公司恳求他去参观一下,我觉得。
30岁就进名人堂了,当年微软为了推directX 3.0, 盖茨专门找他咨询的,
有本关于ID software的传奇历史的书, DOOM启示录,很多关于他的内容
不过quake 3 之后他的兴趣转向航天了。。。
ID software 公布过很多他们的产品的source code, 因为JC 是忠实的open source 拥护者, 曾经试图读过他的code, 全是纯C写的,很难读。。。
【在 g*******y 的大作中提到】
: 有本事写出这样code的人,绝对不会上这个版的,甚至找工作都不需要面试,要么就是
: 若干公司恳求他去参观一下,我觉得。
a*n
16 楼
算法中最常用的两种迭代
对于高次>1单调方程, 用牛顿迭代
对于低次<1单调方程, 二分搜索
平方根一般用牛顿迭代
JC 的code 也是牛顿迭代,只不过那个初始值选的太强了, 所以只迭代一次
但是误差还是蛮大的, 5/1000 左右, 对于quake 这种3D图像生成, 也足够了
对于高次>1单调方程, 用牛顿迭代
对于低次<1单调方程, 二分搜索
平方根一般用牛顿迭代
JC 的code 也是牛顿迭代,只不过那个初始值选的太强了, 所以只迭代一次
但是误差还是蛮大的, 5/1000 左右, 对于quake 这种3D图像生成, 也足够了
相关阅读
Hispanic 很牛呀,在美国执政的挺多的2010 年1月7日的PD什么时候可以绿请问在递交perm的时候可以回国renew H1B么现在perm批到什么时候了关于打Perm的问题NSC 10年PD,3月递交被RFE出生公证的照片必须是近期的么?L1B 是不是也受7%的绿卡限制.有人了解Consular Processing吗,今天收到缴费通知我是瞎猜的,烙印EB2排期大后退的原因之一是140revoke后换工作保pd?出生公证朋友翻译然后notary的帖子谁还有?多谢2007年的PD被RFE反正我是信了iiinnrr少贴了一段话,居然导致了有人认为是好消息如果没有SO, EB2C 在这个财年能排到什么时间啊?今天把CASE转成CP了如果用EAD可以工作part-time吗?EB2今天竟然收到schumer的来信据说HR3012(S1983)还没死干净?