这可能是一个愚蠢的问题(对于MSDN和所有),但也许你们中的一些人将能够帮助我筛选惊人数量的信息。
我需要知道C#中常见数据结构和算法实现的细节。也就是说,比如说,我需要知道链表是如何处理和表示的,它们和它们的方法是如何定义的。
有没有一个很好的集中化的文档来源(包括代码),或者我应该只是重新构建它?你是否曾经必须了解这些东西的细节才能决定使用什么?
致以问候和感谢。
发布于 2009-07-22 13:01:20
Scott Mitchell有一篇很棒的6部分文章,涵盖了许多.NET数据结构:
An Extensive Examination of Data Structures
关于数据结构的算法概述,我建议阅读算法教科书:由Cormen等人编写的“算法入门”。
有关每个.NET数据结构的详细信息,请参阅该特定类的MSDN页面。
当它们都不能解决问题时,Reflector总是在那里。您可以使用它来挖掘实际的源代码,并亲自查看。
发布于 2009-07-22 13:01:44
如果你真的想学,试着自己动手做。
在谷歌上搜索链表将会给你带来大量的点击率和样本代码。Wikipedia也将是一个很好的资源。
发布于 2012-10-26 00:16:30
取决于语言。大多数语言现在都预先构建了非常基本的功能,但这并不意味着它们的实现是相同的。相同名称的对象-- C#中的LinkedList与LinkedList或C++中的LinkedList完全不同。甚至字符串库也是不同的。例如,当您第一次在C#中使用子字符串时,C#会在每次分配字符串时创建一个新的String对象。当您第一次使用C#中的子字符串时,当它使您的程序崩溃时,您会很快了解到新的string对象。
所以你的问题的答案非常复杂,因为我不太清楚你想要什么。如果你只是要教一个班级这些算法和数据结构的通用版本,你可以在不涉及我上面提到的问题的情况下展示它们。您只需要选择、查找、阅读它们的特定类型的实现。就像LinkedList一样,你需要能够实例化列表,销毁列表,复制列表,添加到列表中的某个地方(通常是前面/后面),从列表中删除,等等。你可以随意添加任意多的方法。
https://stackoverflow.com/questions/1165089
复制相似问题