由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 求sqrt的binary算法,多谢
相关主题
如何计算sqrtjava Math.sqrt 的精度是?
写了个sqrt,请点评大牛看看为撒这个sqrt binary search过不了OJ
Facebook 第一轮电面c++ float precision
how to calculate sqrt double?nearest neighbours search算法
这个为什么是newton method找min cut的解有什么简单的算法吗? (转载)
Bloomberg 面经Calculate Sqr()
我对G有心理阴影。。StefanPochmann简直算法大神阿
leetcode 中部分binary search 总结查找substr的问题
相关话题的讨论汇总
话题: mid话题: num话题: low话题: double话题: high
进入JobHunting版参与讨论
1 (共1页)
e******n
发帖数: 89
1
好像记得有个地方讲的非常的详细,不记得在哪里了,当时还自己算了一遍,忘了。。。
请大侠指教!
p**********s
发帖数: 115
2
double mySqrt(int num) {
if(num < 0) {
return -1;
}
double precise = 0.0001;
double low = 0;
double high = num;
double mid = (low+high)/2;
while(abs(mid*mid - num) > precise) {
if(mid*mid > num) {
high = mid;
} else {
low = mid;
}
mid = (low+high)/2;
}
return mid;
}
e******n
发帖数: 89
3
多谢!不知道可否给个link详细介绍算法的,多谢!

【在 p**********s 的大作中提到】
: double mySqrt(int num) {
: if(num < 0) {
: return -1;
: }
: double precise = 0.0001;
: double low = 0;
: double high = num;
: double mid = (low+high)/2;
: while(abs(mid*mid - num) > precise) {
: if(mid*mid > num) {

p**********s
发帖数: 115
4
这个思路和binary search一样, 只不过判断条件不一样~
http://codinggeeks.blogspot.com/2010/04/computing-square-cube-roots.html
s**9
发帖数: 207
5
This works for x>=1. For x<1, initialize low=x and high=1.

【在 p**********s 的大作中提到】
: double mySqrt(int num) {
: if(num < 0) {
: return -1;
: }
: double precise = 0.0001;
: double low = 0;
: double high = num;
: double mid = (low+high)/2;
: while(abs(mid*mid - num) > precise) {
: if(mid*mid > num) {

r********g
发帖数: 144
6
I thought that this method is called the bisection method.
http://en.wikipedia.org/wiki/Bisection_method
z****e
发帖数: 2024
7
exactly.

【在 r********g 的大作中提到】
: I thought that this method is called the bisection method.
: http://en.wikipedia.org/wiki/Bisection_method

b******v
发帖数: 1493
8
用牛顿法应该很快吧?
要求解x^2 = C 等价于求f(x) = x^2-C的根
所以x_{n+1}-x_n = -f(x_n)/f'(x_n)
= -(x_n^2-C)/(2*x_n)
牛顿法有二阶收敛性,所以几步就能到非常高的精度

。。

【在 e******n 的大作中提到】
: 好像记得有个地方讲的非常的详细,不记得在哪里了,当时还自己算了一遍,忘了。。。
: 请大侠指教!

1 (共1页)
进入JobHunting版参与讨论
相关主题
查找substr的问题这个为什么是newton method
请问一下最大增长子序列的O(nLogk)算法Bloomberg 面经
[合集] 问问版上的各位都是怎么开始学习算法和设计题目的?我对G有心理阴影。。
Google电面题leetcode 中部分binary search 总结
如何计算sqrtjava Math.sqrt 的精度是?
写了个sqrt,请点评大牛看看为撒这个sqrt binary search过不了OJ
Facebook 第一轮电面c++ float precision
how to calculate sqrt double?nearest neighbours search算法
相关话题的讨论汇总
话题: mid话题: num话题: low话题: double话题: high