对于复杂的问题解决练习(例如Graphs),这是一种更好的语言(C++或Python)?

Ram*_*ngh 4 c++ python algorithm graph

我正在努力研究一些问题和算法.我知道C++,但是一位朋友告诉我,如果用Python完成它会更好.因为开发速度快得多,花在编程细节上的时间也会少,实际上并没有任何解决方案.

编辑2:我打算使用谷歌代码中的python-graph lib,如果您使用过,请提供示例代码.

编辑1:更快 - 更少的时间和更少的工作来编写解决方案

感谢大家的帮助 !

Bri*_*ndy 23

我认为你正在寻找Python,因为你可以:

  • 专注于算法本身而不必担心内存管理等其他细节.
  • 用更少的代码做更多事情
  • 语法几乎就像使用伪代码一样.
  • 对列表,元组,列表推导等有很好的内置语言支持......

但更具体地......

  • 如果better您的意思是开发速度,那么选择Python.
  • 如果better你的意思是纯粹的执行速度,那么选择C++.


got*_*nes 9

您应该专注于可用的,而不是专注于语言.

C++Python中已经有很多(读取,"太多")可用时,你不应该编写自己的图形库.[Stack Overflow有一个Python Graph包列表,其中包含您应该查看的建议.我没有找到与C++相同的问题.你可以开始一个.]此外,除非这是一个学术练习或研究真正新颖的图形算法,你应该浏览可用的库,看看它们是否已经实现了你感兴趣的那些算法.

使用库可以减轻Python更高级语言的使用,因为您不会使用原始C++ 本身,而是使用C++库.由于Python语言具有非常小的核心,因此它容易学习,但是,它仍然需要时间.如果您选择Python路线,那么在学习库的过程中需要考虑额外的时间因素,因此请务必在决策中权衡这一点.

因此,鉴于您已经了解C++,您最终可能会发现使用C++进行开发更快,因为您只需要花费必要的时间来学习库,而不是库和新的 - 虽然易于学习的语言.


Joh*_*don 8

有点主观,但我投票支持python,因为它有很好的库,并且提取了许多你在使用c ++时必须要考虑的低级"细节"......


war*_*ren 6

我用C++在大学里完成了所有算法,因为我知道它.

如果我不得不同时学习一门语言,我最有可能选择Python.


mac*_*mac 6

我的印象是它真的取决于你的意思更快.

开发更快:go python.更快运行:去C++.

但是python可以使用很多外部C库,因此处理时间的差异可能不相关,具体取决于实现的类型.


Ste*_*lis 5

在我的大学,"算法和数据结构"课程中的500名学生可以选择他们想要的语言.

Python是迄今为止最受欢迎的选择,我个人很高兴我也选择了它,即使我已经知道C++.