- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Wikipedia Article希尔伯特立方体上的函数包括对希尔伯特曲线上任意点的任意索引进行编码/解码的函数。这些算法不是恒定时间的。是否存在一个恒定时间算法,给定曲线上的一个实际点(可能还有一些所需的状态),生成下一个点(和下一个状态)?
形式上,我想要一个 State
类型和一个元组 (initialState, nextState)::(State, State -> ((Nat, Nat), State)
,这样 nextState
的每个应用程序都会为我们提供希尔伯特曲线的下一个点,并且 nextState
是最优的,这可能不是上面介绍的算法的情况维基百科,因为它可能会错过我们这里的增量计算机会。插图:
data State = _
initialState :: State
initialState = _
-- This must be optimal
nextState :: State -> ((Nat, Nat), State)
nextState = _
-- Returns the `nth point` of the hilbert curve
hilbertPoint :: Nat -> (Nat, Nat)
hilbertPoint n = iterate (snd.nextState) initialState !! n
最佳答案
如果您的意思是“是否有一种算法可以按每个顶点的 O(1) 成本顺序生成希尔伯特曲线的顶点?”答案是肯定的。这是递归的标准练习。如果您有用于发射顶点的常用海龟图形基元,它看起来像这样:
-- Angle must be + or - 90.0 degrees.
procedure Hilbert(Order : in Natural;
Angle : in Float) is
Step : constant Float := 1.0; -- length of base case edge
begin
if Order > 0 then
Turn(Angle);
Hilbert(Order - 1, -Angle);
Walk(Step);
Turn(-Angle);
Hilbert(Order - 1, Angle);
Walk(Step);
Hilbert(Order - 1, Angle);
Turn(-Angle);
Walk(Step);
Hilbert(Order - 1, -Angle);
Turn(Angle);
end if;
end Hilbert;
开始递归
Hilbert(7, 90.0);
获得 7 阶曲线。
添加
由于您似乎对迭代器模式感兴趣,您可以使用上述逻辑和带有生成器的语言(如 Python 或 Ruby),或者您可以使用常用的递归到迭代代码转换技术自己实现生成器.
关于algorithm - 是否有用于递增生成希尔伯特点曲线的恒定时间算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39195743/
要求: 我们在数据库中有值 Chennai Baroda Bangalore New Delhi São Paulo, Lisboa San Jose 等... 所以我想将这些字符串转换成一个唯一的短
我需要通过 TCP 加密和发送数据(每条消息从几百字节到几百兆字节)以 block 从 Java 到 C++ 程序,并且需要发送的大小提前发送数据,以便收件人知道何时停止读取当前消息并处理它,然后等待
我不太知道如何问这个问题,因此我将其作为示例: 想象在一个应用程序中您有一个Country对象。此对象有两个属性:Name和'Bordering Countries'集合。稍后可能会添加更多属性,但这
我们正在尝试使用 IoT 中心、流分析和表存储来处理仪表板上的事件驱动图标(开/关/事件)。我无法让实际过程在 6 秒内完成。流分析的水印恒定为 5 秒。该网站声称即时处理。 https://azur
我正在尝试获取一个 JTabbedPane,其中所有选项卡(实际选项卡,而不是组件)具有相同的宽度(最宽标签所需的最小宽度或恒定宽度)。 我试图覆盖 BasicTabbedPaneUI.getTabB
你好安卓开发者, 我正在使用 OpenGLES 1.0 在 Eclipse 中为 Android 开发一个简单的游戏。我正在使用 Samsung Galaxy S2 Android(2.3) 作为开发
我正在尝试使用 ColorMatrix 为整个图像设置一个恒定的色调值。我的目标是使整个图像看起来颜色相同,而不会失去任何区域的亮度。我找到了一种使用 ColorMatrix 来移动图像的色调值的方法
我最近将我的 Postgres 数据库从 Windows 迁移到 CentOS 6.7。在 Windows 上,数据库从不使用太多 CPU,但在 Linux 上,我看到它使用恒定的 ~30% CPU(
你好,我正在用 SDL2 开发一款很棒的游戏,我添加了一个 FPS 调节器以使其在每台机器上都能流畅运行,但后来我创建了一个示例程序来输出 fps(不是调节,只是输出以查看电流的功率机器运行 ) 我在
我在 IntelliJ IDEA 13.0 中开发了一个应用程序,但是当我在我的设备上运行该应用程序时,它会不断等待调试器(如果我在 Debug模式下运行,调试器连接时没问题)但是如果远离计算机,我无
我想在 stat_密度2 图中绘制多个组,其中 alpha 值与每组中的观察计数相关。然而,由 stat_密度2d 形成的水平似乎已标准化为每组中的观察数量。例如, temp <- rbind(mov
我是一名优秀的程序员,十分优秀!