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

C# C数据结构和算法的定义,c#,algorithm,data-structures,C#,Algorithm,Data Structures,这可能是一个愚蠢的问题与MSDN和所有,但也许你们中的一些人将能够帮助我通过惊人的信息量筛选 我需要知道C语言中常用数据结构和算法的具体实现。也就是说,我需要知道,比如说,链表是如何处理和表示的,它们和它们的方法是如何定义的 是否有一个很好的集中化的代码文档源,或者我应该重建它?你是否曾经需要知道这些东西的细节来决定使用什么 您好,谢谢。斯科特·米切尔(Scott Mitchell)有一篇6部分的文章,涵盖了许多.NET数据结构: 对于数据结构的算法概述,我建议阅读算法教科书:Cormen等人的

这可能是一个愚蠢的问题与MSDN和所有,但也许你们中的一些人将能够帮助我通过惊人的信息量筛选

我需要知道C语言中常用数据结构和算法的具体实现。也就是说,我需要知道,比如说,链表是如何处理和表示的,它们和它们的方法是如何定义的

是否有一个很好的集中化的代码文档源,或者我应该重建它?你是否曾经需要知道这些东西的细节来决定使用什么


您好,谢谢。

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

对于数据结构的算法概述,我建议阅读算法教科书:Cormen等人的算法简介

有关每个.NET数据结构的详细信息,请参阅该特定类的MSDN页面


当它们都不能解决问题时,问题总是存在的。你可以用它来挖掘实际的来源,自己看东西。

如果你真的想学,试着自己做一个


在谷歌上搜索链接列表会给你很多点击率和示例代码。也将是一个很好的资源。

取决于语言。大多数语言都预先构建了它们的基础,但这并不意味着它们的实现是相同的。与C++中的链接列表完全不同的是,在java中的同一命名对象LinkedList是完全不同的。甚至字符串库也是不同的。例如,众所周知,C在每次为字符串指定新值时都会创建一个新的字符串对象……当您第一次使用C中的子字符串时,当程序突然停止时,您会很快了解到这一点


所以你的问题的答案非常复杂,因为我不太清楚你想要什么。如果你只是想教一门课这些算法和数据结构的通用版本是什么,你可以在不涉及我上面提到的问题的情况下展示它们。您只需要选择、查找、阅读它们的特定实现类型。像LinkedList一样,你需要能够实例化列表、销毁列表、复制列表、将列表添加到通常位于前/后的位置、从列表中删除,等等。你可以随心所欲地添加任意多的方法。

面试前你有多少时间?哈哈哈。我不做采访。我是一个差劲的计算机科学教授,只是在做一些研究,这已经变得至关重要。但这让我笑了。哎呀。很抱歉,我无意中向CS教授推荐了CLR!别担心,他确实说过很穷,所以也许他还负担不起;不需要什么都买。我们中的许多人只是从图书馆里读这些书,不需要自己知道这不是个坏主意。。。但是我想知道,如果不真正了解(比如)CLI或类似的东西,我可能永远无法实现C ahs优化,而且我没有时间详细介绍。@Dervin:我认为集合类在CIL级别没有任何特定的优化。但是,在内部,运行库可以用特殊的方式处理某些类。例如,我认为列表操作是由运行时优化的。答案很好,Mehrdad。谢谢同时也感谢我对samoz评论的澄清。仅供参考,OP专门询问了C的实现;想看看它们是如何编码的。