gpt4 book ai didi

language-agnostic - 为什么高级语言中缺少这么多数据结构?

转载 作者:行者123 更新时间:2023-12-04 07:41:51 25 4
gpt4 key购买 nike

为什么高级语言(Javascript、PHP 等)不提供链表、队列、二叉树等数据结构作为其标准库的一部分?是出于历史/实际/文化原因还是我缺少一些更基本的东西。

最佳答案

linked lists



在大多数动态语言中,您可以相当容易地实现链表,但它们并不是那么有用。在大多数情况下,动态数组(大多数动态语言都有内置支持)更适合:它们具有更好的使用和缓存一致性、更好的索引查找性能以及不错的插入和删除性能。在应用程序级别,真正需要链表的用例并不多。

queues



使用动态数组轻松实现。

binary trees



二叉树很容易在大多数动态语言中实现。与以往一样,二叉搜索树是一项繁琐的实现,但很少需要。哈希表将为您提供大致相同的性能,并且在许多用例中通常会更好。大多数动态语言都提供了一个内置的哈希表(或字典、 map 、表格或任何你想称呼的东西)。

了解这些基础数据结构绝对重要,如果您正在编写低级代码,您会发现自己在使用它们。不过,在使用大多数动态语言的应用程序级别,哈希表和动态数组确实涵盖了 95% 的数据结构需求。

关于language-agnostic - 为什么高级语言中缺少这么多数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4292610/

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