当前位置:  开发笔记 > 编程语言 > 正文

数据结构是否用于更高级别的语言?

如何解决《数据结构是否用于更高级别的语言?》经验,为你挑选了2个好方法。

我目前还在上学并参加了用c ++实现数据结构的课程.在业余时间,我喜欢用"更高级"语言编程(大多数是带有一些c#的Ruby).

因此,由于这些更高级别的语言为您管理内存,您将使用什么数据结构?我可以理解对队列和堆栈的需求,但是你是否需要在Ruby中使用二叉树?还是2-3-4树?为什么?

谢谢.



1> Brian R. Bon..:

因此,由于这些更高级别的语言为您管理内存,您将使用什么数据结构?

使用数据结构的主要原因不是垃圾收集.但它是以某种方式存储数据的方式.所以最重要的是你如何组织数据.这正是语言无法自动为您解决的问题.

当然,高级语言将带有几个预加载的数据结构(并且您应该100%使用这些预加载的数据结构,而不是自己创建),但并非所有数据结构都是您可能需要的.

数据结构以某种方式组织存储器,以便可以实现在其上运行的算法,从而提供有效的结果.

对于大多数任务,您不需要实现自己的数据结构.但这完全取决于你编码的内容.

我可以理解对队列和堆栈的需求,但是你是否需要在Ruby中使用二叉树?

有很多使用二叉树的例子,但每天都没有共同的项目,例如你可能需要实现霍夫曼编码.

其他数据结构可用于节省空间和快速查找使用trie,或者您可能需要通过使用btree快速查找来存储大量数据.一些数据结构具有特定用途,并针对不同的事物进行了优化 语言是否现代以及是否有垃圾收集都不会改变它.

然而,趋势是自定义实现的数据结构编码较少,并且考虑较少.常见算法也会出现类似的争论.在更现代的语言中,比如LINQ,您只需指定排序即可.你实际上并没有说如何排序.



2> David Z..:

根据我使用Python的经验(表面上类似于Ruby),我从来没有必要实现二叉树或哈希映射或类似的东西.但之所以与托管内存关系不大.在标准库中有最有用的结构的实现,如字典(hashmaps)和列表; 为了提高速度和效率,它们(至少部分地)以编写解释器的任何低级语言实现,并且它们几乎肯定会胜过您可能提出的任何自定义实现.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有