问题标签 [ternary-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3460 浏览

algorithm - 三元搜索的递归关系

三元搜索的递推关系是 T(n)= T(n/3) + 4,4 的递推关系是怎样的,因为在三元查找中,它是以 3 N 为底的,所以应该只有 3 个分区?

0 投票
1 回答
38 浏览

python - 三元搜索不会返回答案

我为递归三元函数编写了以下代码:

即使代码运行良好,我也没有得到返回值。

输出:

0 投票
1 回答
42 浏览

algorithm - 使用三叉树查找 minimun Vertext-Cover

我找到了一些算法来找到一个最小的顶点覆盖,比如使用二叉搜索树,但我读到使用三叉树更好。但我找不到任何关于它的信息或想出一个算法。

有人知道怎么做吗?

0 投票
2 回答
339 浏览

algorithm - 为什么使用三元搜索来查找单峰函数的最大值/最小值?

我了解到,可以通过三元搜索来找到单峰函数的最小值/最大值,这是一种及时运行的算法(给定搜索范围的大小在O(logN)哪里)。N

然而,我最近想到也许我们也可以通过二分搜索来找到单峰函数的最大值/最小值。具体来说,对于具有确定最大值的函数,我们可以找到并返回第一个 x 值f(x) >= f(x+Epsilon)(其中 Epsilon 是允许的误差界限)。另一方面,对于具有确定最小值的函数,我们可以找到并返回第一个 x 值,使得f(x) <= f(x+Epsilon).

总的来说,我的问题是,如果二进制搜索可以完成相同的应用程序,为什么要在此搜索操作中使用三元搜索?我在这里遗漏了什么,还是我犯了其他一些逻辑错误?

0 投票
0 回答
54 浏览

python - “锯状”函数的根

说,我们有f(t) = v * t + A * sin(w * t)。我称这些功能为“锯状”: 在此处输入图像描述

我要解决saw(t) = C,也就是找一个根saw(t) - C(还是“锯状”)。

我试着写下函数的三元搜索abs(saw(t) - C)来找到它的最小值。如果我们幸运(或狡猾),那将是根源。不幸的是,我的代码并不总是有效:有时我们会卡在那些地方:

在此处输入图像描述

我的代码(python3):

那么,它是如何完成的呢?使用三元搜索是否正确?


我的另一个想法是以某种方式将方程发送到网络,将其传递给Wolfram Alpha并获取答案。然而,我不知道它是如何完成的,因为我对 python 不是很流利。

怎么可能做到这一点?