gpt4 book ai didi

c - 哪些数据结构和算法不能用 C 实现?

转载 作者:太空狗 更新时间:2023-10-29 16:58:17 25 4
gpt4 key购买 nike

<分区>

这听起来可能很天真,但是如果有足够的代码,是否有任何数据结构/算法不能用 C 语言构建?我理解图灵完备的论点。我也知道拥有一个优雅的解决方案是有益的,而且时间复杂度很重要(即在 Ruby/Java/C#/Haskell/Lisp 中实现时更具表现力或简洁)。我研究或使用过的所有语言似乎都已创建或随后重构为基于 C 的编译器、解释器和/或虚拟机。一些复杂的数据结构是否只能通过解释器和/或虚拟机实现?如果那个虚拟机或解释器是基于 C 的,那不就是底层 C 代码的另一种数据结构抽象吗?即 C 有一个简单的类型系统,但作为动态类型系统的基础。我很惊讶地发现使用预处理器(ioccc.org Immanuel Herrmann)在 C 中似乎可以进行元编程。我还看到了一些有趣的 C 算法,它们模仿 Erlang 的并发模型,但不记得来源了。

激发这个问题的是 StackOverflow 帖子 ( Lesser Known Useful Data Structures ) 和 Patrick Dussud 在 channel9 上的采访 ( Garbage Collection - Past, Present and Future ) - 解释了他们如何编写第一个 CLR 垃圾收集器(用 Lisp 编写,针对 JVM,从 Lisp 编译而来)到 CLR 的 C++)。

所以,归根结底,在我打完卡之后,我想知道这个问题是否可能更多地是关于 C 编程语言设计而不是编程的便利性和时间复杂度。例如,我可以在 Prolog 中实现一个非常复杂的算法,它非常优雅并且很难以其他方式表达,但我仍然受到汇编指令和另一端计算机体系结构(开/关)的限制棍子,所以我会在这里整夜。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com