标签: computer-science

抽象代数与编程

我将开始学习抽象代数组,环等.我有兴趣了解任何编程语言,如果有的话可以帮助我学习/尝试我在理论上学到的概念.

编辑:我并不是在考虑实施我学到的东西.我有兴趣知道任何已经支持它们的语言.

computer-science wolfram-mathematica algebra

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

编程中的幺半群/半群的例子

众所周知,幺半群在编程中无处不在.它们无处不在,非常有用,作为一个"爱好项目",我正在开发一个完全基于其属性的系统(分布式数据聚合).为了使系统有用,我需要有用的monoids :)

我已经知道了这些:

  • 数字或矩阵和
  • 数字或矩阵产品
  • 具有顶部或底部元素的总订单下的最小值或最大值(更一般地,在有界点阵中加入或满足,或者更一般地,在类别中的产品或副产品)
  • 设置联盟
  • 使用monoid连接冲突值的映射联合
  • 有限集子集的交集(如果我们谈论半群,则只是设置交集)
  • 地图与有界关键域的交叉(在此处相同)
  • 合并序列的合并,可能在不同的幺半群/半群中加入键相等的值
  • 排序列表的有界合并(与上面相同,但我们取结果的前N个)
  • 两个幺半群或半群的笛卡尔积
  • 列出连接
  • Endomorphism组成.

现在,让我们将操作的准属性定义为保持等价关系的属性.例如,如果我们考虑相等长度或相同内容直到排列的列表是等效的,则列表串联是准可交换的.

这里有一些准幺半群和准交换幺半群和半群:

  • 任何(a + b = a或b,如果我们认为载体的所有元素都是等价的)
  • 任何令人满意的谓词(a + b = a和b中的一个非空并且满足某个谓词P,如果没有则为null;如果我们认为所有元素都满足P等价)
  • 随机样本的有界混合(xs + ys =来自xs和ys串联的大小为N的随机样本;如果我们考虑与整个数据集具有相同分布的任何两个样本相等)
  • 加权随机样本的有界混合
  • 我们称之为"拓扑合并":给出两个非循环和非矛盾的依赖图,一个包含两者中指定的所有依赖关系的图.例如,列出可以产生任何排列的"连接",其中每个列表的元素按顺序跟随(例如,123 + 456 = 142356).

其他哪些确实存在?

language-agnostic math computer-science monoids abstract-algebra

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

两个补充,为什么名称"两个"

我知道无符号,两个补码,一个补码和符号幅度,以及它们之间的区别,但我很好奇的是:

  1. 为什么它被称为两个(或一个)补码,那么是否有更广义的N的补码?
  2. 这些天才以哪种方式推断出如此自然的方式来表示负数?

binary computer-science

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

缺少号码面试问题Redux

确定1到N范围内缺失值的常见访谈问题已经完成了一千多次.变化包括2个缺失值,最多K个缺失值.

示例问题:范围[1,10](1 2 4 5 7 8 9 10)= {3,6}

以下是各种解决方案的示例:

简单的面试问题变得更难:给出数字1..100,找到丢失的数字

我的问题是,看到一个缺失值的简单情况是O(n)复杂性,并且较大情况的复杂性收敛于大于O(nlogn)的大小:

通过对范围进行排序(mergesort)并迭代它来观察缺失的元素,难道只是更容易回答这个问题吗?

该解决方案应该不超过O(nlogn),并且能够解决1到N之外的范围的问题,例如10到1000或-100到+100等......

是否有理由相信上述SO链接中的给定解决方案将比基于排序的解决方案更好地存在大量缺失值?

注意:对于这个问题,似乎有很多常见的解决方案,假设只有一个数论的方法.如果在S/E采访中被问到这样一个问题,使用更多的计算机科学/算法方法是不谨慎的,假设该方法与数论解决方案的复杂性相同......

更多相关链接:

c++ math complexity-theory computer-science

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

第一个NP完全问题如何显示NP完全?

来自NP-Complete的维基百科条目:

"证明一些新问题是NP完全的最简单的方法是首先证明它是在NP中,然后减少一些已知的NP完全问题"

我很确定我理解这一点:如果我有问题,我可以证明它是NP-Complete如果我:

  1. 表明它在NP中(可以在非确定性图灵机上的多项式时间内验证问题的解决方案)

  2. 表明已知为NP-Complete的问题可以"减少"到新问题

所以,我的问题是,第一个NP完全问题"被证明"是NP完全的吗?同时,已知NP完全问题的集合必须为零,这将使得在上述过程中不可能采用步骤2.

这让我觉得有一种不同的证明方法,我不知道.由于缺少已知的多项式时间解决方案,或者可能由于缺少已知的多项式时间解而对某些问题"假设"整个NP完全属性.(实际上,写完这篇文章后,如果是这样的话,我不会感到惊讶,但无论如何我都喜欢一些古茹反馈).

computer-science np-complete

25
推荐指数
2
解决办法
5750
查看次数

25
推荐指数
2
解决办法
4万
查看次数

在基数36之后使用什么符号

由于Hex(基数16)使用0-9A-F,并且(我假设在这里)基数17使用0-9A-G,依此类推.一旦0-9A-Z用完,将使用什么符号.

computer-science

24
推荐指数
7
解决办法
2997
查看次数

通过 vagrant 在 vi​​rtualbox 上创建仅主机接口时出现 E_ACCESSDENIED

升级到 VirtualBox 6.1.28 后尝试运行时vagrant up,收到以下错误消息

There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "ipconfig", "vboxnet0", "--ip", "192.168.33.1", "--netmask", "255.255.255.0"]

Stderr: VBoxManage: error: Code E_ACCESSDENIED (0x80070005) - Access denied (extended info not available)
VBoxManage: error: Context: "EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())" at line 242 of file VBoxManageHostonly.cpp
Run Code Online (Sandbox Code Playgroud)

security computer-science virtualbox helper vagrant

24
推荐指数
2
解决办法
4万
查看次数

讲座有MP3 /播客吗?

有没有特别好的大学讲座可以在线下载MP3(或其他一些音频格式)?我特别感兴趣的是听一些我在工程学位上没有学到的更高级的课程,比如编译器,操作系统,AI,加密等.

关于CS视频讲座还有另外一个问题,但我想听MP3播放器上的讲座.

podcast computer-science

23
推荐指数
3
解决办法
9470
查看次数

JUMP和CALL之间的区别

JUMP和CALL指令有何不同?它与GOTO或程序调用等更高级别的概念有什么关系?(我在比较中是否正确?)

这就是我的想法:

JUMP或GOTO是控件转移到另一个位置,控件不会自动返回到调用它的位置.

另一方面,CALL或过程/函数调用返回到调用它的位置.由于它们的性质不同,语言通常使用堆栈,并且推送堆栈帧以"记住"为每个被调用的过程返回的位置.此行为也适用于递归过程.在尾递归的情况下,不需要为每个调用"推"一个堆栈帧.

非常感谢您的回答和评论.

recursion computer-science functional-programming

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