algorithm相关内容

在 C 中生成 INTEGERS 的均匀分布

我编写了一个 C 函数,我认为该函数从 均匀分布 中选择 整数,范围为 [rangeLow, rangeHigh],包括在内.这不是家庭作业——我只是在一些嵌入式系统中使用它来做一些有趣的事情. 在我的测试用例中,此代码似乎产生了适当的分布.不过,我并不完全相信实施是正确的.如果我在这里做错了什么,有人可以进行完整性检查并告诉我吗? //uniform_distribution 在 [ra ..
发布时间:2022-01-24 08:42:56 其他开发

是什么让 gcc std::list 排序实现如此之快?

我有一个链表实现,我正在试验合并排序和快速排序算法. 我不明白为什么 std::list 中的排序操作如此之快.查看 linux 下的 std::list ,它似乎也是链表,而不是基于数组的列表. 我在这里尝试的合并排序与 Dave Gamble 的版本几乎相同:合并排序链接列表 另外,我想我会尝试基于此代码的简单快速排序:http://www.flipcode.com/arch ..
发布时间:2022-01-23 21:09:57 服务器开发

以程序方式将子查询转换为连接

是否有用于将 SQL 子查询转换为连接或反之亦然的通用过程或算法?也就是说,是否有一组印刷操作可以应用于包含子查询的语法正确的 SQL 查询语句,该子查询会导致没有子查询的功能等效语句?如果是这样,它们是什么(即算法是什么),在什么情况下它们不适用? 解决方案 将子查询转换为 JOIN 非常简单: IN子句 FROM TABLE_X xWHERE x.col IN(从 TABLE ..
发布时间:2022-01-23 15:39:27 其他开发

如何通过钥匙获得锁

在不锁定整个集合的情况下,防止同时更新键值集中的一条记录的最佳方法是什么?从语义上讲,我正在寻找某种按键锁定(理想情况下,Java 实现,但不一定): 接口 LockByKey {无效锁(字符串键);//获取一个键的独占锁无效解锁(字符串键);//释放一个键的锁} 此锁旨在同步对远程存储的访问,因此不能选择某些同步的 Java 集合. 解决方案 Guava 在 13.0 中发布了类似的 ..
发布时间:2022-01-22 19:49:42 Java开发

如何确定 GPS 坐标是否位于矩形区域内?

我在 Stackoverflow 和其他网站上遇到了许多类似的问题,我的解决方案基于这些答案,但我仍然无法让它发挥作用…… 我的问题:我想确定某个 GPS 位置 P 是否位于由四个给定 GPS 坐标 A, B, C, D. 目前我正在计算三角形 ABP、BCP、CDP 和 DAP 的面积.如果这些区域中的任何一个大于零(不要生气,数学家),则该点位于我的矩形之外,如 这里. 代码 ..
发布时间:2022-01-22 14:11:52 Java开发

GPS/GIS 计算:基于运动/mph 预测未来位置的算法?

在导航应用中寻找资源或算法来计算以下内容: 如果我当前的 GPS 位置是 (0,0),并且我以每小时 15 英里的速度前进 32 度,我如何计算我在 10 秒内的位置? 即:GPSCoordinate predictCoord = GPSCoordinate.FromLatLong(0, 0).AddByMovement(32, 15, TimeSpan.FromSeconds(10) ..
发布时间:2022-01-22 14:11:20 C#/.NET

如何计算与 GPX 文件的距离?

我有一个带有 GPS 轨迹的 GPX 文件.现在我想计算我用这条赛道走过的距离. 最好的计算方法是什么? 解决方案 计算两点(GPX 文件中的每一对航点)之间距离的传统方法是使用 Haversine 公式. 我有一个实现该算法的 SQL Server 函数.这应该很容易翻译成其他语言: 创建函数 dbo.udf_Haversine(@lat1 float, @long1 fl ..
发布时间:2022-01-22 13:18:15 其他开发

我的算法来计算智能手机的位置 - GPS 和传感器

我正在开发一个基于传感器数据计算位置的安卓应用程序 加速度计 --> 计算线性加速度 磁力计 + 加速度计 --> 运动方向 初始位置将从 GPS(纬度 + 经度)获取. 现在根据传感器的读数,我需要计算智能手机的新位置: 我的算法如下 - (但未计算准确位置):请帮助我改进它. 注意: 我的算法代码在 C# 中(我将传感器数据发送到服务器 - 数据存储在数据库 ..
发布时间:2022-01-22 13:06:53 C#/.NET

使用 Stacks Java 中缀到 Postfix

我正在尝试编写一个程序来将中缀表达式转换为后缀表达式. 我使用的算法如下: 1.创建堆栈2. 对于表达式中的每个字符 t- 如果 t 是操作数,则将其附加到输出- 否则,如果 t 是 ')',则从堆栈中弹出直到遇到 '(' 并追加它到输出.不要将“("附加到输出中.- 如果 t 是运算符或 '('-- 如果 t 的优先级高于栈顶,则 push t到堆栈上.-- 如果 t 的优先级低于栈顶, ..
发布时间:2022-01-22 13:00:28 Java开发

单调的堆栈和队列.定义和例子

究竟什么是单​​调堆栈?(例如,它与单调队列有何不同?) 例如考虑以下整数数组:[0, 2, 1, 3, 4].如果我从左到右处理这个数组并将其插入到单调递减的堆栈中,我应该在堆栈中看到什么,为什么? 这里Python 中单调递减堆栈的示例,显然用于解决 奇偶跳转的许多解决方案问题: def make(A):结果 = [无] * Nstack = [] # 不变式:栈在递减对于 A ..
发布时间:2022-01-22 12:57:32 其他开发

使用单个堆栈生成排列

任何人都可以解释算法以在仅使用单个堆栈时生成可能的排列,并且推送和弹出是唯一允许的操作.搜索了很多,但没有明确的答案.这种排列的总数也由加泰罗尼亚数字给出.但我没有得到证明.请尽可能解释一下. 谢谢!! 解决方案 这个问题使用了一个输入队列和一个输出队列以及一个栈. 操作是“将一个项目从输入队列推入堆栈"和“将一个项目从堆栈弹出到输出队列". 1 2 3输出输入\/ 例如 ..
发布时间:2022-01-22 12:54:38 其他开发

在 O(1) 时间内检索堆栈中的 Min 元素

我问这个问题的原因是因为我不明白为什么我认为的方式不能应用于这个特定问题 “你将如何设计一个堆栈,除了push和pop,还有一个函数min,它返回最小元素?push、pop 和 min 都应该在 O(1) 时间内运行" 我的基本解决方案:如果我们在 stack 类中有一个变量,那么当我们将一个项目推入堆栈时,我们会检查它是否有可能比我们的 min 变量小.如果是赋值给最小值,如果不是忽 ..
发布时间:2022-01-22 12:50:36 其他开发

C++/C/Java: Anagrams - 从原始字符串到目标;

我正在尝试解决这个问题:http://uva.onlinejudge.org/external/7/732.html.对于给定的示例,它们为我们提供了原始单词,例如 TRIT 和目标“anagramed"字符串 TIRT. 目标:我们必须输出所有有效的'i'和'o'序列(分别是push和pop's),它们从源字符串产生目标字符串. 所以,我正在考虑计算 "i" 和 "o" 的所有排列, ..
发布时间:2022-01-22 12:49:52 Java开发

如何用一个数组实现 3 个堆栈?

有时,我会遇到以下面试问题:如何用一个数组实现 3 个堆栈?当然,任何静态分配都不是解决方案. 解决方案 空间(而非时间)高效.你可以: 1) 定义两个堆栈,从数组端点开始并沿相反方向增长. 2) 将第三个堆栈定义为从中间开始并沿您想要的任何方向增长. 3) 重新定义 Push 操作,这样当操作要覆盖其他堆栈时,在 Pushing 之前将整个中间堆栈向相反方向移动. ..
发布时间:2022-01-22 12:46:18 其他开发

用 Python 实现堆栈

我正在尝试使用数组使用 Python 实现一个简单的堆栈.我想知道是否有人可以让我知道我的代码有什么问题. 类 myStack:def __init__(self):自我 = []定义是空的(自我):返回自我 == []def 推送(自我,项目):self.append(项目)定义流行(自我):返回 self.pop(0)默认尺寸(自我):返回 len(self)s = myStack()s.p ..
发布时间:2022-01-22 12:39:29 Python

给定一个数组 A,计算 B s.t B[i] 存储离 A[i] 左边最近且小于 A[i] 的元素

给定一个数组 A[1..n],我们想计算另一个数组 B[1..n] 使得 B[i] 存储 A[i] 左侧最近的元素,该元素小于 A[i].时间复杂度应该是O(n). (对于i>1,如果左边没有这么小的元素,那么B[i]简单地包含A[i],并且 B[1]=A[1].) 例子: 输入:6,9,12,17,11 输出:6,6,9,12,9 我正在考虑实现一个堆栈, 将 A[1 ..
发布时间:2022-01-22 12:36:53 其他开发

java.util.Stack 的迭代器中是否有错误?

今天我试图推入 java.util.Stack 类,然后使用 Iterator 对项目进行迭代(不使用 pop).我期待 LIFO 财产,但感到惊讶. 这是我正在尝试的代码. import java.util.*;导入 java.util.Stack;公共类主要{公共静态无效主要(字符串[]参数){RobStackrstack = new RobStack();//正确实现堆栈 ..
发布时间:2022-01-22 12:28:58 Java开发