C#数据结构和算法的定义

时间:2009-07-22 12:59:17

标签: c# algorithm data-structures

这可能是一个愚蠢的问题(使用MSDN和所有),但也许你们中的一些人将能够帮助我筛选大量的信息。

我需要了解C#中常见数据结构和算法实现的细节。也就是说,例如,我需要知道如何处理和表示链接列表,如何定义它们及其方法。

是否有一个良好的集中文档源(带代码),或者我应该重新构建它?你有没有必要知道这些事情的具体细节来决定使用什么?

问候,谢谢。

3 个答案:

答案 0 :(得分:8)

斯科特·米切尔(Scott Mitchell)有一篇很重要的6篇文章,涵盖了许多.NET数据结构:

An Extensive Examination of Data Structures

对于数据结构的算法概述,我建议阅读Cormen等人的 算法教科书:“算法导论”。

有关每个.NET数据结构的详细信息,该特定类的MSDN页面都很好。

如果所有这些都无法解决问题,那么Reflector始终存在。您可以使用它来挖掘实际来源并自己查看。

答案 1 :(得分:1)

如果您真的想学习它,请尝试制作自己的。

谷歌搜索链接列表将为您提供大量的点击和示例代码。 Wikipedia也将是一个很好的资源。

答案 2 :(得分:-1)

取决于语言。现在大多数语言都有预先构建的基础知识,但这并不意味着它们的实现是相同的。相同的命名对象 - C#中的LinkedList与Java或C ++中的LinkedList完全不同。甚至字符串库也不同。例如,每次为字符串分配一个新值时,就会知道C#创建一个新的String对象...当你在C#中使用C#中的子字符串时,当你的程序停止运行时,这会成为你快速学到的东西。时间。

所以你的问题的答案非常复杂,因为我不知道你在追求什么。如果您只是在教授课程这些算法和数据结构的通用版本,您可以在不解决上面提到的问题的情况下展示它们。您只需要选择,查找,阅读它们的特定类型的实现。就像LinkedList一样,你需要能够实例化列表,销毁列表,复制列表,添加到某个地方的列表(通常是前/后),从列表中删除等等。你可以得到想象并添加尽可能多的方法你想要的。