sqrt和Hailstone
求平方根
class SqRoot{
void calcRoot(double z){
double x=1;double y=z/x;
while(Math.abs(x-y)>1E-10)
{x=0.5*(x+y); y=z/x;}
System.out.println(x);
}
}
Hailstone :n/2,3n+1 还不能证明有穷性
程序不等于算法,例如死循环和栈溢出等问题。
好的算法:正确,健壮(能处理不合法输入),可读,*效率(速度快,存储空间少)
问题的样本规模n,比较效率(速度)时,关注最坏情况。
图灵机模型和RAM模型:算法的运行时间-->算法需要执行的基本操作次数
Ω-下界 O-上界(最悲观)
不含转向(循环,调用,递归等),顺序执行的,O(1)
o(1) o(logn)高效解
算术级数:与末项平方同阶 1+2+3+...+n=O(n^2)
幂方级数:比幂方高一阶 1^2+2^2+3^2+...+n^2=O(n^3) 1^4+2^4+3^4+...+n^4=O(n^5)
几何级数(a>1):与末项同阶 a^0+a^2+a^3+...+a^n=O(a^n)
收敛级数:O(1)
算法的复杂度可以用面积来表示。
sqrt和Hailstone的更多相关文章
- 速算1/Sqrt(x)背后的数学原理
概述 平方根倒数速算法,是用于快速计算1/Sqrt(x)的值的一种算法,在这里x需取符合IEEE 754标准格式的32位正浮点数.让我们先来看这段代码: float Q_rsqrt( float nu ...
- [LeetCode] Sqrt(x) 求平方根
Implement int sqrt(int x). Compute and return the square root of x. 这道题要求我们求平方根,我们能想到的方法就是算一个候选值的平方, ...
- Leetcode 69. Sqrt(x)
Implement int sqrt(int x). 思路: Binary Search class Solution(object): def mySqrt(self, x): "&quo ...
- 欧几里得证明$\sqrt{2}$是无理数
选自<费马大定理:一个困惑了世间智者358年的谜>,有少许改动. 原译者:薛密 \(\sqrt{2}\)是无理数,即不能写成一个分数.欧几里得以反证法证明此结论.第一步是假定相反的事实是真 ...
- 求sqrt()底层效率问题(二分/牛顿迭代)
偶然看见一段求根的神代码,于是就有了这篇博客: 对于求根问题,通常我们可以调用sqrt库函数,不过知其然需知其所以然,我们看一下求根的方法: 比较简单方法就是二分咯: 代码: #include< ...
- 【leetcode】Sqrt(x)
题目描述: Implement int sqrt(int x). Compute and return the square root of x. 实现开根号,并且返回整数值(这个很重要,不是整数的话 ...
- Leetcode Sqrt(x)
参考Babylonian method (x0 越接近S的平方根越好) class Solution { public: int sqrt(double x) { ) ; , tolerance ...
- Sqrt(x) - LintCode
examination questions Implement int sqrt(int x). Compute and return the square root of x. Example sq ...
- 3.Sqrt(x)
要求:Implement int sqrt(int x). Compute and return the square root of x. 解决方法: 1.牛顿法(Newton's method) ...
随机推荐
- Nginx/LVS/HAProxy负载均衡软件的优缺点详解(转)
PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...
- 【排障】使用DiskGenius修复0扇区损坏
用PE引导启动进入PE后打开DiskGenius软件 "硬盘"图形菜单------选择驱动器符号(例如C) 主界面中显示该硬盘的分区格式为FAT32,起始柱面0,起始磁头65. 在 ...
- JMS—事务管理
Spring提供了一个JmsTransactionManager用于对JMS ConnectionFactory做事务管理.这将允许JMS应用利用Spring的事务管理特性.JmsTransactio ...
- Bootstrap--组件之按钮组
什么是按钮组呢?简单解释:就是把一堆的按钮放在一行或者一列中.下面来看一个实例. 按钮组嘛,首先是按钮,所以会用到.btn这个类,还有就是bootstrap提供的按钮组.btn-group这个类,所以 ...
- Devexpress 使用经验 —— ASPxGridView命令行自定义按钮灵活使用
ASPX <dx:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="Ob ...
- c语言学习之基础知识点介绍(十三):枚举的介绍和使用
一.枚举的介绍 /* 枚举:限制的待选项. 语法: enum 枚举名{ 选项1, 选项2, 选项3, ........ 选项n }; 注意:枚举中,选项之间用 , 隔开,最后一个不用加 , :并且枚举 ...
- _In_ 是什么意思
函数参数类型前 _In_代表什么 在visual C++中属于SAL批注,是为了编译系统在分析代码时发现缺陷用的 表示是一个输入参数.可以定义一个_In_的宏,这个宏什么都不做, 就是形如 ...
- initialize 和init
initialize 是类方法,创建实例时会调用该方法.但是只会调用一次.如一个类创建了10个对象,initialize方法只会调用一次,但是init会调用10次.init 是实例方法,每次创建一个实 ...
- 关于web项目中中文乱码问题的总结
关于post和get的中文乱码处理 get: (1)转码:String username=request.getParameter("username"); Strin ...
- HDU 2089 不要62(数位DP)
不要62 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了, ...