标签: computer-science

还记得一个班轮代码挑战吗?

有没有人记得几年前像Byte这样的杂志,人们竞相制作用一行代码编写的最功能的代码片段?我记得像Pole Position这样的游戏有滚动文本等,而分形图形就是这样做的.

像C#和Java这样的现代语言在一个声明中是无穷无尽的,有没有人知道现在有类似的东西?这也是鼓舞人心和有趣的东西.

history computer-science code-golf

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

什么是"分散式唯一性算法"?

在COM的函数来创建一个GUID(CoCreateGUID)采用的是"分散唯一性算法",但我的问题是,是什么呢?

谁能解释一下?

algorithm computer-science

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

微积分和编程语法之间有什么关系?

我这个学期开始学习微积分.我之前使用过编程(或脚本)语言,主要是PHP和C#.我没有做过很多低级别的工作.我在语法之间建立的唯一关系是带有Y-Combinators的Anonymous函数和带有Set-notation的数组(我甚至不确定这些是否正确).

我总是看到微积分和编程之间的相似之处 - 它几乎就像命理学一样 - 那么微积分和编程语言如何相关?

潜意识里,我知道有关系,但我认为我不知道描述它的正确术语.有些人把我称为"计算理论"和"图灵机",但我还没有真正研究过它.如果我不完全理解计算理论,我还能认为自己是程序员吗?

syntax computer-science calculus

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

很酷的API有助于学习C++?

这不是一个编程问题,但对于我下学期的CS课程,我们正在学习C++.现在我要积极主动,学习一些过度休息,我想知道是否有任何很酷的API在C++中有趣而且不是很难,我可以修补一下,以帮助巩固我学习的东西.有任何想法吗?

(因为这是一个非常广泛的问题,这些可能有助于缩小范围):

我运行OSX和Ubuntu Linux我有一个kinect我想修补一下我想学习如何进行网络编程我想学习如何做黑客类型的东西(最好以合法的方式)

c++ api computer-science

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

8-Puzzle Solution无限执行

我正在寻找解决8-puzzle问题的解决方案A* Algorithm.我在互联网上找到了这个项目.请查看文件 - proj1EightPuzzle.proj1包含程序的入口点(main()函数),EightPuzzle描述了拼图的特定状态.每个州都是8拼图的对象.
我觉得逻辑没有错.但它为我尝试的这两个输入永远循环:{8,2,7,5,1,6,3,0,4}{3,1,6,8,4,5,7,2,0}.它们都是有效的输入状态.代码有什么问题?


注意

  • 为了更好地查看,请在Notepad ++或其他文本编辑器(具有识别java源文件的功能)中复制代码,因为代码中有很多注释.
  • 由于A*需要启发式算法,因此他们提供了使用曼哈顿距离的选项以及计算错位图块数量的启发式算法.为了确保首先执行最佳启发式,他们已经实现了PriorityQueue.该compareTo() 函数在EightPuzzle类中实现.
  • 输入到程序可以通过改变的值来改变p1dmain()的函数proj1的类.
  • 我告诉我上述两个输入存在解决方案的原因是因为这里的applet 解决了它们.请确保您从小程序中的选项中选择8-puzzle.

    EDIT1
    我给了这个输入{0,5,7,6,8,1,2,4,3}.它花10 seconds26个动作并给出了结果.但小程序给出了与结果24 moves0.0001 secondsA*.

    EDIT2
    在调试我注意到,随着节点的扩展,新的节点,一段时间后,都有一个启发- f_n作为1112.他们似乎永远不会减少.所以过了一段时间之后的所有状态PriorityQueue(openset)有一个启发式11或12.所以没有太多可供选择,扩展到哪个节点.最小的是11,最高的是12.这是正常的吗?

    EDIT3
    这是无限循环发生的片段(在proj1-astar()中).openset是包含未展开节点的PriorityQueue,而closedset是包含展开节点的LinkedList.

while(openset.size()> 0){

                    EightPuzzle x …
Run Code Online (Sandbox Code Playgroud)

java computer-science artificial-intelligence

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

将任何字符串转换为-1到1之间的实数的算法

嗨,我正在寻找一种算法,将任何有限大的有限长字符串集转换为-1到1之间的特定实数,其中每个字符串都有唯一的实数表示.这个问题是编程语言无关的.

其中每个字符串可以包含许多单词和结束行,以及通过数学定义的实数.我也可以使用任意精度库.

algorithm encoding computer-science decoding

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

软件工程中的计算机科学

我目前正在学习软件工程,我的一些课程包括计算理论和分析算法。我发现很难将图灵机与软件工程或简单编程联系起来。所以我的问题是:

为什么要纳入在软件工程领域在计算机科学中起重要作用的理论学科?或者如何在开发软件中应用PDA,TM,P,NP等知识?我看不到两者之间的联系。

computer-science computation-theory

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

如何从Assembly生成控制流图?

对于上下文,我试图将AVM2(ActionScript虚拟机2)字节码/汇编中的反编译器编写为高级ActionScript 3代码.据我所知,这需要我分析程序集并从中生成结果控制流图,以便推导出诸如循环和条件分支(if/else)之类的结构.

鉴于一些组装如下:

0         getlocal0         
1         pushscope         
2         findpropstrict    {, private, }::trace
4         pushstring        "one"
6         callproperty      {, private, }::trace (1)
9         pop               
10        pushbyte          5
12        pushbyte          3
14        ifngt             L1

18        findpropstrict    {, private, }::trace
20        pushstring        "two"
22        callproperty      {, private, }::trace (1)
25        pop               

L1: 
26        findpropstrict    {, private, }::trace
28        pushstring        "three"
30        callproperty      {, private, }::trace (1)
33        coerce_a          
34        setlocal1         
35        getlocal1         
36        returnvalue       
37        kill              1
Run Code Online (Sandbox Code Playgroud)

什么是生成控制流图的算法?

assembly computer-science decompiling control-flow control-flow-graph

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

关于Big O表示法(N*N?)

我有一些问题,我正试图找到大O. 令我困惑的是(N*N)问题:

for (i=1, sum=0, i <= N; i++) {
  for (j=1; j <= N*N; j++) {
     sum++;
  }
}
Run Code Online (Sandbox Code Playgroud)

我猜它是O(N ^ 3),因为(N*N)可能代表两个循环.

for (i=1, sum=0, i <= N; i++) {
  for (j=1; j <= N*N; j++) {
     for (k=1; k<=j; k++) {
       sum++;
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果是这样,那么这个是O(N ^ 4)?

math big-o computer-science

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

概率和最短路径算法

假设我有一个带有"n"个节点和"d"弧的定向网络.p(d)表示包裹沿着该弧安全到达的概率.将包在其路径上采用的每个弧上的所有概率相乘可以提供包安全到达其目的地的概率.

是否有一个公式可以让我们最大限度地提高包裹以最短路径问题的形式安全到达的概率?

algorithm math optimization computer-science probability

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