标签: pseudocode

Java 2d游戏中的路径查找?

基本上它是我正在研究的pacman克隆游戏.我有一个Enemy类,并且创建了这个类的4个实例,它们代表了游戏中的4个幽灵.

所有幽灵都在屏幕的随机区域启动,然后他们必须朝着pacman角色前进.当玩家控制pacman,移动它时,他们应该跟随它并采取最接近他的方式.

没有迷宫/障碍物(尚未)所以整个地图(400x400像素)都是开放的.

对于播放器和每个Ghost,我可以检索X,Y,图像宽度和高度属性.此外,我已经有了一个碰撞检测算法,所以不要担心,只是鬼魂找到他们的方式pacman.

java algorithm pseudocode path-finding

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

什么"!" 在伪代码中意味着什么?我知道 "!" 代表阶乘,但我无法翻译它

!伪代码意味着什么?我知道!代表阶乘,但我无法翻译它.

例如:

得到操作

if (operation!= ’B’ OR operation != ’D’ OR operation!= ’W’) then
    print "Invalid Operation"
Run Code Online (Sandbox Code Playgroud)

这是什么意思?请帮助我的中期是几个小时:S

在此先感谢您的帮助 :)

javascript pseudocode operators

6
推荐指数
3
解决办法
5089
查看次数

合并散列删除算法

有人可以向我展示一个合并链式哈希表的删除算法示例吗?

我的插入算法是这样的:

Insert (key) 
    int p = hash(key)
    if d[p] = NIL then
        d[p] = key
        next[p] = NIL
    else
        while next[p] != NIL 
            p = next[p]
        endwhile
        td[firstEmpty] = key
        next[p] = firstEmpty
        next[firstEmpty] = NIL
    endif
    UpdateFirstEmpty(); //sets firstEmpty to first empty slot with lowest index
endInsert
Run Code Online (Sandbox Code Playgroud)

假设表中的槽数为 13。散列函数返回Key%13

    Keys | 5 | 18 | 16 | 15 | 13 | 31 | 26 |      
Hash(key)| 5 |  5 |  3 |  2 |  0 | …
Run Code Online (Sandbox Code Playgroud)

algorithm hash pseudocode

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

伪码中的<---和< - >

我不是来自cs背景,我试图理解什么是用于什么.在伪代码中,我看到了很多这样的:

for i <---  1 to n-1 do
j <--- find-Min(A,i,n)
A[j] <-> A[i]
end for 
Run Code Online (Sandbox Code Playgroud)

什么是<---<->用来指?

pseudocode

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

使用BFS或DFS确定非连接图中的连接?

如何使用BFS或DFS算法设计算法以确定非连通图的连通分量,该算法必须能够表示每个连通分量的顶点集.

这是我的方法:

1)将所有顶点初始化为未访问.

2)从任意顶点开始对图进行DFS遍历v.如果DFS遍历不访问所有顶点,则返回false.

3)反转所有弧(或找到图的转置或反转)

4)在反转图中将所有顶点标记为未访问.

5)从相同的顶点v开始执行反向图的DFS遍历(与步骤2相同).如果DFS遍历不访问所有顶点,则返回false.否则返回true.

这个想法是,如果每个节点都可以从顶点v到达,并且每个节点都可以到达v,那么图形就是强连接的.在步骤2中,我们检查是否可以从v到达所有顶点.在步骤4中,我们检查所有顶点是否都可以到达v(在反向图中,如果所有顶点都可以从v到达,那么所有顶点都可以到达原始图中的v).

知道如何改进这个解决方案吗?

algorithm pseudocode time-complexity graph-algorithm

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

货币兑换Altorithm(Android/Java/Pseudocode)

我在找到兑换货币问题的良好解决方案时遇到了问题.我花了一整天的时间考虑所有案例的优雅和快速解决方案.

声明:

我们有一些汇率如...

  • 欧元兑美元 - > 1.37
  • 美元兑澳元 - > 0.7
  • MEX到CAD - > 1.8
  • LIB到YEN - > 2.3
  • (.....)

这个比率不是真实的,可能每天都会改变一次.利率的数量可能与世界货币一样大(约150).

我们被要求将任何货币的金额转换为另一种货币,我们应该给出答案(如果可以的话)给出兑换货币汇率.

最好的情况是如果您直接交换(显示在列表中),在更糟糕的情况下,您应该以中间交换率跳转很多次.

注意:从EUR到USD,您可以假设uSD到EUR是反向的.

我希望问题很清楚.

有任何想法吗??

java algorithm android currency pseudocode

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

Pseudocode中的":"是什么意思?

我对伪代码有点新意,伪代码:意味着什么?

例如:

X ? copy(C[s ? a : s + len])
Run Code Online (Sandbox Code Playgroud)

pseudocode

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

如何在一组2D点周围拟合边界椭圆

给定一组2d点(笛卡尔形式),我需要找到最小面积椭圆,使得集合中的每个点都位于椭圆上或内部.

我在这个网站上找到了伪代码形式的解决方案,但是我在C++中实现解决方案的尝试却没有成功.

下图以图形方式说明了我的问题的解决方案是什么样的:

一组带有边界椭圆的点

在我的尝试中,我使用了特征库来进行矩阵上的各种操作.

//The tolerance for error in fitting the ellipse
double tolerance = 0.2;
int n = 10; // number of points
int d = 2; // dimension
MatrixXd p = MatrixXd::Random(d,n); //Fill matrix with random points

MatrixXd q = p;
q.conservativeResize(p.rows() + 1, p.cols());

for(size_t i = 0; i < q.cols(); i++)
{
    q(q.rows() - 1, i) = 1;
}

int count = 1;
double err = 1;

const double init_u …
Run Code Online (Sandbox Code Playgroud)

c++ pseudocode eigen

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

具有 alpha beta 剪枝的转置表

我正在尝试使用换位表实现 alpha beta 剪枝,我在维基百科中找到了该算法的伪代码:https: //en.wikipedia.org/wiki/Negamax#cite_note-Breuker-1 \n但是我相信这psudocode 是错误的,我认为 alphaOrig 是无用的,而不是:

\n\n
if bestValue \xe2\x89\xa4 alphaOrig\n        ttEntry.Flag := UPPERBOUND\n
Run Code Online (Sandbox Code Playgroud)\n\n

它应该是:

\n\n
if bestValue \xe2\x89\xa4 \xce\xb1\n        ttEntry.Flag := UPPERBOUND\n
Run Code Online (Sandbox Code Playgroud)\n\n

谁能确认我是否正确或向我解释为什么我错了,谢谢!

\n\n

这里是伪代码:

\n\n
function negamax(node, depth, \xce\xb1, \xce\xb2, color)\n\nalphaOrig := \xce\xb1\n\n// Transposition Table Lookup; node is the lookup key for ttEntry\nttEntry := TranspositionTableLookup( node )\nif ttEntry is valid and ttEntry.depth \xe2\x89\xa5 depth\n    if ttEntry.Flag = EXACT\n        return ttEntry.Value\n    else if ttEntry.Flag = LOWERBOUND\n        \xce\xb1 := max( \xce\xb1, ttEntry.Value)\n    else if ttEntry.Flag …
Run Code Online (Sandbox Code Playgroud)

pseudocode alpha-beta-pruning negamax

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

如何将 JWK 转换为 PEM

这个问题更通用,而不是针对特定语言,因此我将解释我的问题以及我在伪代码中尝试过的内容。

我正在尝试从 JWK 集中生成 PEM 公钥。JWK 包括“e”(指数)和“n”(模)变量。我的问题是,在不使用任何库和 OpenSSL 命令行工具的情况下将此 JWK 转换为 PEM 的确切步骤是什么。

这是JWK供参考:

{
  "kty": "RSA",
  "alg": "RS512",
  "kid": "26887d3ee3293c526c0e6dd05f122df53aa3f13d7dad06d25e266fa6f51db79fb52422aaf79f121476237e98dcd6640350fee47fec70e783544ec9a36e4605bc",
  "use": "sig",
  "n": "14m79mVwIE0JxQdKrgXVf7dVcBS90U0TvG7Yf7dG4NJocz1PNUrKrzGhe_FryOe0JahL_sjA2_rKw7NBCpuVx_zSPFRw6kqjewGicjXGus5Fmlf3zDuqwV4BWIFHyQexMPOly0agFfcM0M0MgBULXjINgBs9MwnRv7JVfRoGqXHsNM45djFDd3o4liu4LPlge_DquZUFLNu-BYAyAlWkz0H2TepZhGrN9VEPmxzQkNzXc1R4MpZvbxrRRgaAA2z094ik3hk86JhfyFq-LDcueZhtshmrYZ95LWgMlQ7PixkeK1HkeEYMt20lmNzR8B8KabimYmibxA4Ay9gpRwfp-Q",
  "e": "AQAB"
}
Run Code Online (Sandbox Code Playgroud)

我的大部分研究源自node-jwk-to-pem库(可以在这里找到: https: //github.com/Brightspace/node-jwk-to-pem)和一个使用JOSE库的StackOverflow问题在 PHP 中(可以在这里找到:How to conversion a public key from a JWK into PEM for OpenSSL?

根据我通过阅读上述库(加上一些其他文章和问题,但没有完全提到逐步过程)所发现的,我发现第一步是将模数和指数转换为整数(特别是 BigInt)。这通常会导致以下结果:

n = 27209154847141595039206198313134388207882403216639061643382959557246344691110642716248339592972939239825436848454712213431917464875221502188500634554426063986720722251339335488215426908010590565758292169712942346285217861588132983738839891250753593240057639347814778952277719613395670962156961452389927728643840215833830614315091417876959205843957512422401240879135352731575182574836052718961865690645602829768565458494497550672252951063585023601307115444743487394113997186698238507983094748342588645472362960665610355698438390751920697759620235642103374737421940385132232531739910444003185620313592808726865629407737
e = 65537
Run Code Online (Sandbox Code Playgroud)

使用此信息,我将如何从指数和模数生成 PEM 公钥?任何伪代码或建议都将是令人难以置信的!

cryptography rsa pseudocode pem jwk

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