标签: computer-science

使用信号量实现N过程障碍

我目前正在接受以前迭代的OS考试培训,我遇到了这个:

实现"N进程障碍",即确保一组中的每个进程在其各自的执行中的某个时刻等待其他进程到达其给定点.

您有以下操作:

init(sem,value), wait(sem) and signal(sem)

N是任意数.我可以使它适用于给定数量的进程,但不适用于任何数字.

有任何想法吗?用伪代码回复是可以的,这不是一项任务,只是个人学习.

computer-science operating-system semaphore systems-programming barrier

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

理论计算机科学主题是否具有"真实世界"的开发应用?

通过"理论计算机科学主题",我指的是诸如常规语言和非常规语言,抽取引理和语法之类的东西.

我熟悉有限自动机和正则表达式的实际应用,但是这些其他主题给我带来了更多问题,因为我没有看到任何真实世界的应用程序.

theory computer-science

18
推荐指数
3
解决办法
1781
查看次数

两个二叉树是同构的意味着什么?

两个二叉树是同构的意味着什么?我一直在网上看,我似乎无法找到明确的解释.

据我所知,如果它们具有相同的形状,则两棵树是同构的.所以我猜两个相同的树,它们可以在节点中包含不同的值.

tree computer-science binary-tree isomorphism

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

什么本科计算机科学课程最适合工作场所的程序员?

这里的想法是在大学毕业后让更好的程序员.

我想我必须使用算法,它不是你可以很容易地自己拿起的东西,我认为它使你能够在更深层次上看到软件的效率和正确性.

我也相信教授实际编程可能会有所帮助,但我学到了大部分关于工作编程的知识,这让我觉得其中一些编程课程块(不是全部)可以更好地使用.

这些结果将成为我想写给我老学校CS部门的一封信的一部分,我认为有很多课程我根本没有帮助,而我认为其他课程本来就非常宝贵.

computer-science generic-programming

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

你如何规范有限状态机?

  1. 您如何找到最小的确定性FSM?
  2. 有没有办法规范化非确定性FSM?
  3. 是否有线性时间限制算法来查找给定机器的最小FSM?
  4. 有没有办法看看两个FSM是否相同?

这不是一个家庭作业问题.我正在看这个系列讲座而且很好奇.

computer-science finite-automata

18
推荐指数
3
解决办法
2767
查看次数

我想描述什么计算机科学主题?

我一直在编程... 6-> 8年,我已经开始意识到当我做类似的事情时,我真的不知道在低水平的事情发生了什么.

int i = j%348
Run Code Online (Sandbox Code Playgroud)

问题是,我知道j%348做了什么,它将j除以348并找到余数.我不知道的是计算机如何做到这一点.

同样,我知道

try
{
 blah();
}catch(Exception e){
 blah2();
}
Run Code Online (Sandbox Code Playgroud)

将调用blah,如果blah抛出,它将调用blah2...但是,我不知道计算机如何执行此操作而不是错误...崩溃或结束执行.

我认为为了让我在编程方面"更好",我应该知道我的代码到底在做什么.[这可能也会帮助我优化和...错误...不做蠢事]

我认为我所要求的可能是在大学或其他什么地方教授的东西,但说实话,如果我能学到一点,我会很高兴.

问题的关键是:
我要问的主题/计算机科学课程是什么? 因为老实说,我不知道.

由于我不知道这个主题叫什么,我实际上找不到书或在线资源来了解这个主题,所以我有点卡住了.如果有人帮助我,我会永远感激= /

computer-science

18
推荐指数
2
解决办法
1389
查看次数

任务与流程,有什么区别吗?

我正在攻读我的CS专业的期末考试,主题是分布式系统和操作系统.

我需要对术语任务,进程和线程有一个很好的定义.到目前为止,我确信一个进程是使用自己的内存,程序计数器,寄存器,堆栈等(进程控制块)来表示运行(或挂起但已启动)的程序.进程可以运行共享内存的线程,因此与必须通过IPC进行通信的进程相比,可以通过共享内存进行通信.

但是任务和流程之间的区别是什么.我经常读到它们是可互换的,并且不再使用术语任务.这是真的吗?

multithreading computer-science process definition task

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

是否存在可以确定一种常规语言是否与另一种常规语言匹配的任何输入匹配的算法?

假设我们有正则表达式:

  • 你好W.*rld
  • 你好,世界
  • .*世界
  • .*W.*

我想最小化匹配任意输入所需的正则表达式的数量.

为此,我需要查找一个正则表达式是否与另一个表达式匹配的任何输入匹配.那可能吗?

Billy3

regex theory computer-science

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

从头开始编程

我想知道的是从头开始编程,没有任何操作系统和类似的东西.

因为我知道Windows和Mac以及几乎任何东西,甚至DOS都是用C,C++ Pascal等编写的,所以我想我应该知道其中一种语言,但为此我需要一个程序,我可以编写代码,还编译它但没有操作系统和程序如何才能完成?他们怎么能这样做?

但这还不够,C怎么写的?在什么?因此,当我的意思是划痕时,我的意思是,从基础构建一切.也许从0,1,0,1现在开始我认为这是确切的起点.但我怎么能这样做,我应该拥有什么,我应该从哪里开始?

谢谢你的每一个答案!

c c++ computer-science

18
推荐指数
3
解决办法
1901
查看次数

顶点覆盖与主导集合

我试图理解顶点覆盖和支配集之间的区别.

根据理解,在支配集中,集合D包含与不在D中的其他顶点相邻的顶点(对于V中的每个v,v在D中或者在D中与1相邻).

在顶点覆盖中,D中的所有顶点都覆盖了所有边缘,但是通过这样做,它们与其他顶点相邻,它们不在D中 - 那么为什么它不是一个支配集?

computer-science graph-theory

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