小编Ell*_*hes的帖子

哪些数据结构可以有效地存储二维"网格"数据?

我正在尝试编写一个对数字网格执行操作的应用程序,每次函数运行时,每个单元格的值都会发生变化,每个单元格的值依赖于它的邻居.每个单元格的值将是一个简单的整数.

在这里存储我的数据的最佳方法是什么?我已经考虑了平面列表/数组结构,但这似乎无效,因为我必须重复进行计算以确定哪个单元格在当前单元格之上(当有任意网格大小时)和嵌套列表,这不是似乎是表示数据的一种非常好的方式.

我不禁觉得必须有更好的方法在内存中表示这些数据以达到这种目的.有任何想法吗?

(注意,我不认为这确实是一个主观问题 - 但堆栈溢出似乎认为它是..我希望有一种可以接受的方式存储这种数据)

language-agnostic data-structures

26
推荐指数
2
解决办法
8929
查看次数

计算较大的ackermann函数值

我有一些代码:

int CalculateAckermann(int x, int y)
{
    if(!x)
    {
        return y++;
    }
    if(!y)
    {
        return CalculateAckermann(x--,1);
    }
    else
    {
        return CalculateAckermann(x--, CalculateAckermann(x, y--));
    }
}
Run Code Online (Sandbox Code Playgroud)

旨在计算ackermann函数.在相当低的x和y数量之上,应用程序会导致堆栈溢出,因为它会过度递归并导致相当大的数字.我如何慢慢计算解决方案?

c++ math

5
推荐指数
3
解决办法
5787
查看次数

Python Clutter绑定简介?

我已经进行了搜索,但是我找不到最近杂乱绑定的正确在线教程.有大约0.4和0.6的指南,但0.8应该是非常不同的,使这些指南有点无用.链接或示例非常感谢!

python user-interface binding clutter-gui

4
推荐指数
1
解决办法
2880
查看次数

Aeson的Decode"没什么"结果

我正在使用此代码:

{-# LANGUAGE OverloadedStrings #-}

import Data.Aeson
import Data.Maybe
import Data.ByteString.Lazy
import Control.Applicative
import Debug.Trace
import Control.Monad
import qualified Data.Aeson.Types as T

main = do
  res <- liftA show (liftA decodeOriginal (Data.ByteString.Lazy.readFile "./a.json"))
  Prelude.putStrLn res

interpretResult :: Maybe String -> String
interpretResult Nothing = "Error."
interpretResult x = fromJust x

data TotalLine1 = TotalLine1 {
  timestamp :: Integer,
  value :: Integer
} deriving (Eq, Show)

data Original = Original {
  totals :: [TotalLine1]
} deriving (Eq, Show)

instance FromJSON Original …
Run Code Online (Sandbox Code Playgroud)

haskell aeson

2
推荐指数
1
解决办法
463
查看次数

LINQ查询返回列表列表

我有一个问题:

from m in dc.ReportingMonths
where m.Month.Value == month
select (from k in m.KPI_Actives
        where k.DateActive.Year == year
        select (from r in dc.ReportingViews
                where r.KPIID == k.KPIID select r)
       );
Run Code Online (Sandbox Code Playgroud)

显然,因为它是嵌套的LINQ查询 - 每个返回一个IQueryable,我得到一组IQueryables作为结果.

我如何编写一个类似的查询,而不只是返回一个ReportingViews的单个平面列表(如最后一个查询返回)而不使用foreach循环来创建新列表?

谢谢!

c# linq linq-to-sql

1
推荐指数
1
解决办法
1407
查看次数