从中间向外循环数组的算法?

2024-02-20

我正在研究一种分而治之的算法(事实上,这是一种对多个输入点进行曲线拟合的算法)。对于“划分”部分,我需要计算每个点的误差项,如果误差超过给定阈值,我希望在该点分割曲线并分别处理输入的左右部分。一个简单的循环就可以解决问题;但从当前部分的中间开始并向外工作对我来说是有利的。 (澄清一下:如果我确实找到一个误差太大的点,我会递归调用并为左右部分生成单独的曲线 - 如果所有点都在阈值内,则我的曲线拟合并返回)。

经过一番绞尽脑汁后,我想出了这个(点在一个数组中,当前部分来自startIndex to endIndex包括的):

int steps = (endIndex+1-startIndex);
int i = (startIndex+endIndex)>>1;
int stepdir = 1;
for(int q=0; q<steps; q++, i+=stepdir*q, stepdir=-stepdir)
{
   // test point i here and return early if error exceeds threshold
}

换句话说,从中间附近开始,向前一个索引,向后两个,向前三个,向后四个......它有效,而且我确信它是有效的,但我觉得应该有一种更干净的方法来做到这一点,特别是,我最终不得不检查 Java 语言规范,以确保 for update 表达式中的语句确实按顺序求值(尽管 , 不是 C/C++ 中的序列运算符)。

任何想法不胜感激。有更干净的方法吗?


恕我直言,这会更具可读性

for (int q=0; q < steps; q++) {
   int index = i + ( q% 2 == 0 ? q/2 : -(q/2+1)); //index lookup here
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从中间向外循环数组的算法? 的相关文章

  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • 在一个区域中拟合二维多边形的算法?

    这有标准吗 算法名称 说 我有 10 个不同大小的多边形 我有一个特定大小的区域 我想知道如何填充该区域中的最多多边形 以及它们是如何拟合的 笔记 多边形可以根据限制集进行旋转 一个可能的名称是包装问题 http en wikipedia
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 浏览器中 bash 命令的代码块忽略路径

    我正在尝试开发一种用户友好的方式来设计 bash 命令的代码突出显示样式 我将使用以下示例来澄清问题这一页 https themeaningfulengineer github io Linux kernel in QtCreator 在下
  • IIS URL 重写规则

    我有一个 AngularJS 应用程序 它利用 URL 重写进行链接 我的重写规则如下
  • 移动设备注册 Spring Social

    我正在尝试将 Spring Social 用于我的 REST 服务和移动应用程序 我想知道最好的方法是什么 我打算使用linkedin google 登录和密码验证在我的里面移动应用 这个社交登录应该是连接到我的数据库中的用户 我的 Spr
  • 使用 Geopandas,如何选择不在多边形内的所有点?

    我有一个包含芝加哥地址的 DataFrame 我已将其地理编码为纬度和经度值 然后编码为 Point 对象 使 DataFrame 成为 GeoDataFrame 芝加哥以外的一小部分使用 LatLong 值进行了错误的地理编码 我有一个芝
  • cc1plus:错误:g++ 无法识别命令行选项“-std=c++11”

    我正在尝试使用编译g 以及 std c 11 or c 0x flags 但是 我收到这个错误 cc1plus error unrecognized command line option std c 11 g 版本 g GCC 4 1 2
  • settings.py 中模板文件夹的 Django 路径不正确

    我正在学习 Django 并且正在遵循学习 Django 1 11教程 这是我当前的项目树 manage py muypicky init py old settings py settings base py Contains the s
  • LazyColumn 删除项目时显示错误

    我正在创建一个应用程序 除其他外 它使用户能够添加消费者 然后稍后将其删除 消费者显示在卡片中 最后有一个删除按钮 添加消费者效果很好 但是 当我尝试删除消费者时 应用程序屏幕中删除的始终是消费者last one 我知道这不是一个逻辑实现错
  • Eclipse m2eclipse 从本地存储库获取依赖项

    我在我的机器上本地安装了依赖项 m2 repository blah blah blah 并且 m2eclipse 无法识别它们 我认为 m2eclipse 正在使用自己的 Maven 实例 有没有办法强制m2eclipse在osx中 使用
  • Flask 和传输编码:分块

    我们正在尝试让 Flask Web 服务正常工作 但我们在流式帖子方面遇到了一些问题 即当标头包含 Transfer Encoding chunked 时 默认 Flask 似乎不支持 HTTP 1 1 有解决办法吗 我们正在运行这个命令
  • #在Lua中是什么意思?

    我在 Lua 中经常看到哈希字符 被添加到变量前面 它有什么作用 EXAMPLE sort AIs in currentlevel table sort level ais function a b return a y lt b y en
  • 如何使用 ARCore 相机拍摄物体图像?

    我正在使用 ARCore 创建一个应用程序来在空白表面上显示一些图像 我想捕获显示对象的表面的图像 我在 AR 相机屏幕上放置了一个拍摄按钮 是否可以使用 ARCore 相机中的物体捕捉该视图 如果您只需要 ARCore 视图的屏幕截图 您
  • Selenium:查找其他元素“旁边”的元素

    我正在使用 Selenium 将 Web 测试添加到我的项目中 我已经进行了一系列测试 使用以下方法检查特定元素 final WebElement dateElement web findElement By id elementId 这很
  • Swift 版本的 elementsSeparatedByString

    我知道这是菜鸟问题 我在问之前确实先搜索了一下 但我想知道的却没有确切的答案 我们如何在不使用 Objective C 的情况下将字符串拆分为数组 例如 var str Today is so hot var arr str compone
  • 另一个 UIViewController 中 UIViewController 的新实例:为什么我不能设置实例变量?

    所以我有一个名为 MyTabBarViewController 的 UIViewController 子类 它有一个 UIScrollView 在 MyTabBarViewController 内部 我正在创建另一个名为 PhotoView
  • IIS 7 中的“传递身份验证”是什么? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 在 IIS 7 中 在指定网站的物理路径并单击 测试设置 按钮后 我收到以下警告 服务器配置为使用内置帐户的直通身份验证来访问指定的物理路径 但是 I
  • 父级 Flexbox 容器忽略子级 Flexbox 最小宽度

    很短的史前史 我的故事从奋斗开始overflow wrap break word 在弹性盒内工作 Flexbox 容器不想理解它的项目可以缩小 尽管该项目可以破坏长单词 body width 300px border 1px solid b
  • CSS相对位置/正常位置问题

    根据w3schools 相对位置值定义如下 relative 元素相对于其正常位置定位 因此 left 20 向元素的 LEFT 位置添加 20 个像素 我知道我可以获得相对定位的任何 DOM 对象 并使用它 我可以获得相对于原点的左侧或顶
  • VBA 宏将返回连续的月末

    这是我在这个网站上的第一篇文章 我需要有关一些 VBA 代码的帮助 该代码会将 31 07 00 放入单元格 B2 中 然后将每个月末日期放入该列中 并停止在单元格 B126 中的 31 11 2010 即单元格 B2 31 07 00 B
  • 当我上传 .png 图标时,“Android Asset Studio”会添加额外的空间,但当它使用其内部剪贴画时则不会。为什么?

    我正在尝试为我正在处理的一些 Android 应用程序创建一些漂亮的图标 有人引导我使用 Android Asset Studio 这是一个不错的在线工具 它可以创建完整的图标包 准备部署到我的 可怕的 碎片化的 Android 项目 re
  • 从中间向外循环数组的算法?

    我正在研究一种分而治之的算法 事实上 这是一种对多个输入点进行曲线拟合的算法 对于 划分 部分 我需要计算每个点的误差项 如果误差超过给定阈值 我希望在该点分割曲线并分别处理输入的左右部分 一个简单的循环就可以解决问题 但从当前部分的中间开