首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

经典面试题:如何快速求解根号2?

作者 | 小K 出品 | 公众号:小K算法 (ID:xiaok365) 01 故事起源 有一次小K去面试,面试官问我怎么求解根号2,这还用求,不就是1.414......原来他是想让我用代码来实现求解根号2。 那还不简单吗,一行代码搞定。 然后,就没有然后了,下一个。。。...当这个数大于1时,根号之后的数一定是小于原数的。 对于求解固定的数,且当给出一个数,可以快速判断出所给数是不是我们要的目标数,同时还能确定大小范围,这种问题就可以用二分查找来求解。...那通过牛顿迭代法如何求解根号2呢? 05 求解根号 首先我们需要构造一个函数f(x),把目标数变成求解一个函数与x轴的交点,即方程f(x)=0的根。...再用上面的牛顿迭代法,就可以得到目标数“根号n”了。牛顿迭代法也有它的局限性,可能一些函数无法收敛。

82610

S^(12)的一些性质

量子化学中最常见的对矩阵“根号”的情形便是 ,这里的 是原子基(AO basis)重叠积分矩阵,矩阵维度为基函数*基函数, 是个厄米矩阵(实数下就是对称矩阵),满足  (矩阵元素写法)... (矩阵写法)   所谓的对矩阵“根号”不是对矩阵的每个元素根号,而是指先将 对角化,将其本征值根号再乘回来,步骤如下 其中 是酉矩阵(实数下就是正交矩阵),满足 相应的还有...由于 是半正定(positive semi-definite)矩阵,本征值 ,因而可以根号。...但在实际编程中要小心,由于数值误差(可能的原因很多,例如从格式化文本文件中读取,小数位数有限),可能会有本征值 略微小于零,这时不妨把这些直接赋值为0,否则可能会超出根号函数的定义域。   ...这个“根号”的定义使得一些矩阵乘法变得像数的乘法一样简便,例如   后两行细节就不写了,初学者可以自己验算。

2.1K30

python测试测-刷题第3天

背景介绍 整理面试题,开始刷题【python】【测试】【测】相关。 解决方案 人无我有,人有我精 面试题03:说一下你对Python中迭代器和生成器的理解。...跟其他编程语言不同,Python中没有用于定义协议或表示约定的关键字,像interface、protocol这些单词并不在Python语言的关键字列表中。...Python语言通过魔法方法来表示约定,也就是我们所说的协议,而__next__和__iter__这两个魔法方法就代表了迭代器协议。...什么是迭代器 顾名思义,迭代器就是用于迭代操作(for 循环)的对象,它像列表一样可以迭代获取其中的每一个元素,任何实现了 「next」 方法 (python2 是 next)的对象都可以称为迭代器。...普通函数用 return 返回一个值,和 Java 等其他语言是一样的,然而在 Python 中还有一种函数,用关键字 yield 来返回值,这种函数叫生成器函数,函数被调用时会返回一个生成器对象,「生成器本质上还是一个迭代器

27740

python测试测-刷题第5天

背景介绍 整理面试题,开始刷题【python】【测试】【测】相关。 解决方案 人无我有,人有我精 面试题04:Python是如何实现内存管理的? 听到这种问题首先不要慌,稳住你能行!...这个反问可以展示出你了解过Python解释器的不同的实现版本,而且你也知道面试官想问的是CPython。当然,很多面试官对不同的Python解释器底层实现到底有什么差别也没有概念。...答 Python提供了自动化的内存管理,也就是说内存空间的分配与释放都是由Python解释器在运行时自动进行的,自动管理内存功能极大的减轻程序员的工作负担,也能够帮助程序员在一定程度上解决内存泄露的问题...引用计数、标记清理、分代收集 引用计数 「引用计数」:对于CPython解释器来说,Python中的每一个对象其实就是PyObject结构体,它的内部有一个名为ob_refcnt 的引用计数器成员变量。...分代回收 「分代回收」:在循环引用对象的回收中,整个应用程序会被暂停,为了减少应用程序暂停的时间,Python 通过分代回收(空间换时间)的方法提高垃圾回收效率。

37030
领券