2016-01-14 17:16:34 baidu_25773927 阅读数 1266
  • 算法&数据结构

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 本课程从最基础的时间、空间复杂度概念入手,深入浅出的讲解常用排序、查找算法,通过本课程的学习,我们希望能帮你建立起算法思维,使你在以后的项目开发不断思考如何通过更优的算法来提高程序运行效率,且有能力写出适合你业务逻辑的算法程序。 为什么学习这个课程? 很多人觉得算法比较难,不好学,我认为原因有2个,一是相比于比较直观的逻辑代码实现,算法通常确实会更high-level,更抽象,更不易理解。 二 是因为你没遇到合适的教程,算法本身本来已经很抽象了,再用抽象的方法去讲解,当然很难学会。 本课程精心设计了每个算法讲解案例,把抽象的算法用形象生动的案例实现,使得算法小白也可以很容易理解,可以顺利带你进入算法的世界。

    5328 人正在学习 去看看 高乐

第一名

原书名:The Art of Computer Programming
中文名:计算机程序设计艺术
作者:Donald E.Knuth
难度:★★★★★
个人评价:★★★★★
推荐程度:★★★

本书是算法分析的经典名作(用经典不太恰当,应该是圣经或史诗),被科学美国人列为20世纪12大科学名著之一(和Dirac的量子力学,Einstein 的广义相对论,von Neumann 的博弈论的著作等齐名)。其亮点在于其超乎寻常的数学技巧,要求读者拥有极高的数学修养,只要你坚持忍耐,一旦读懂了,你的算法和程序设计水平也会达到更高的档次,你会对程序设计有一种截然不同的体会和领悟,就是“道”(Tao)。

书的排版很漂亮(得益于作者的Tex系统),看起来很舒服。作者的文笔很好,写得生动活泼,读起来荡气回肠(英文版)。习题多且精华,触及算法和程序本质,书后有几乎所有习题的答案(占了整全书篇幅的1/4),书中的分析方法体现了作者严谨的风格。不过本书的程序不是用我们熟悉的高级语言描述的,而是作者设计的MIX语言。

整套书原计划出七卷,现在出了三卷:基本算法,半数值算法,排序和搜索,第四卷组合算法跳票了20年,Knuth称在2008年推出。本书有中文版,不过建议读者选用英文版,因为都学到这个程度了,英语应该不会有大困难了。

引用一句话“在我们的有生之年,可能会看到C++的消亡,但Knuth和他的程序设计艺术,将永远留在我们的心里。”

第二名

原书名:Introduction to Algorithms
中文名:算法导论
作者:Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein
难度:★★★
个人评价:★★★★★
推荐程度:★★★★★

本书俗称CLRS(作者名字的简写),算法的经典教材,堪称算法分析著作中的“独孤九剑”。作者之一Ronald L.Rivest 由于其在公开秘钥密码算法RSA上的贡献获得了ACM图灵奖。

全书内容全面,结构清晰,6个部分1000多页把数据结构算法的主要内容都包含了。作者用图表,伪码解释每一个算法,通俗易懂而不失严谨性,英文比较简单,语言流畅,因此,与TAOCP相比,这本书更适合初学者,不要求读者拥有很强的数学背景和丰富的编程经验。

书中习题安排合理,难度适中,在网上有全部习题的答案,网上还有作者在MIT讲述本书的课程的录像,可谓资源丰富,值得注意的是书中每一章后面都有一个Chapter notes,了解一下历史,看一下作者推荐的材料是不错的(如果你能找到的话)。

第三名

原书名:Data Structures and Algorithms Analysis in C/C++/JAVA
中文名:数据结构与算法分析——C语言描述/C++描述/Java语言描述
作者:Mark Allen Weiss
难度:★★★
个人评价:★★★★★
推荐程度:★★★★★
• 《数据结构与算法分析——C语言描述》(Data Structures and Algorithms Analysis in C)第二版,Mark Allen Weiss著,天津师范大学冯舜玺译,机械工业出版社。Weiss教授的数据结构经典教材三部曲之一,其中的C语言描述版本,也就是本书,被称为20世纪最重要的30本计算机教材之一。Mark Allen Weiss(马克?爱伦?韦斯),1987年在普林斯顿大学获得计算机科学博士学位,师从著名算法大师Robert Sedgewick,现任美国佛罗里达国际大学计算与信息科学学院教授。他曾经担任全美AP(Advanced Placement)考试计算机学科委员会的主席(2000-2004)。他的主要研究方向是数据结构,算法和教育学。中文版翻译质量很好。数学公式太多。网上可以下载书中代码,但是没有输出结果,也没有习题答案。

• 《数据结构与算法分析——C++描述》(Data Structures and Algorithms Analysis in C++)第三版,Mark Allen Weiss著,张怀勇等译,机械工业出版社。Weiss教授的数据结构经典教材三部曲之一。

• 《数据结构与算法分析——Java语言描述》(Data Structures and Algorithms Analysis in Java)第二版,Mark Allen Weiss著,天津师范大学冯舜玺译,机械工业出版社。Weiss教授的数据结构经典教材三部曲之一。

第四名

原书名:Introduction to The Design & Analysis of Algorithms
中文名:算法设计与分析基础
作者:Anany Levitin
难度:★★★
个人评价:★★★★
推荐程度:★★★★

算法书的另一种写法,以方法为主线,如Brute-Force, Divide-and-Conquer, Greedy techniques,书里面有很多有趣的习题

第五名

原书名:Data Structures, Algorithms, and Applications in C++
中文名:数据结构算法与应用-C++语言描述
作者:Sartej Sahni 译者:汪诗林等
难度:★★★
个人评价:★★★
推荐程度:★★★

不少人推荐这本书,但我个人觉得这书不怎么样,中文版翻译水平差强人意,数据结构算法部分把该讲的都讲了,但没什么突出的地方,反而C++倒说了不少,代码的水平也不怎么样。

从ACCU的评价上看,书中的实现与BOOST和STL相比相去甚远。不过这书有很多实际问题,可以看一看。

第六名

原书名: Programming Pearls
中文名: 编程珠玑
作者: Jon Bentley
难度:★★★
个人评价:★★★★
推荐程度:★★★★

编程珠玑:学习算法不仅需要像Alogrithms,算法导论这样的重量级的内功心法,像《编程之美》、《编程珠玑》这样的轻量级的轻功身法也必不可少。

前些年网上不是很流行像“给你10亿个数,找到最大的n个”或者“给你10亿个数,找出现次数最多的那个数”之类的百度面试题吗?看了此书你就知道怎么解决了。

相比于《编程之美》来说,本书中的示例技巧性略低一些,但是也更有实际应用价值一些。

第七名

原书名:Algorithm Design
中文名: 算法设计
作者: Jon Kleinberg / Éva Tardos
难度:★★★
个人评价:★★★★
推荐程度:★★★★

Algorithm Design 算法设计 很经典的一本书,很久之前看的。个人觉得“算法设计”比“算法导论”好。
1. 纸更好,看起来舒服多了。
2. “算法导论”太详细了,如果纠结与细节经常导致失去重点。“算法设计”只有关键的过程证明,反而容易掌握重点。

我是先看到“算法导论”后看的“算法设计”,看“算法设计”的时候还是很享受这本书的,同时也把知识巩固了一遍

第八名

原书名:算法艺术与信息学竞赛
中文名: 算法艺术与信息学竞赛
作者: 刘汝佳
难度:★★★
个人评价:★★★★
推荐程度:★★★★

算法艺术与信息学竞赛:如果算法导论是九阳神功,那这本无疑就是九阴真经。

本书是专为参加一些诸如ACM之类程序设计比赛的同学而写的,江湖人称“黑书”。里面讲的都是一些在编程比赛中常用的算法、数据结构,以及一些数论和计算几何等。我虽然并不搞竞赛,但也从此书中受益颇多。

第九名

原书名:Algorithms in C,Algorithms in C++,Algorithms in Java
中文名:算法I-IV(C实现),算法V(C实现)(C++实现)(Java实现)
作者:Robert Sedgewick
难度:★★★
个人评价:★★★★★
推荐程度:★★★★

Robert Sedgwick是Knuth的学生,现在是princeton的教授。这是三个系列,与上面用伪码描述算法不同,本书用现今流行的语言C,C++,Java描述.那么选拿哪一种语言好呢?从算法的角度看,任何高级语言都是没区别的,虽然实现算法的时候,到了语言相关的层面会有一些细微区别,但影响不大。

个人推荐C++的,因为价钱最便宜:)。本书的一个特点就是例子取得很好,代码很清晰。有中文版

第十名

原书名:Algorithms Design Techniques and Analysis
中文名:算法设计技巧与分析
作者:M.H.Alsuwaiyel
难度:★★★★
个人评价:★★★★
推荐程度:★★★★

这本书对一般算法书较少涉及的概率算法和近似算法作了重要的补充

第十一名

原书名:
中文名:算法与数据结构
作者:傅清祥 王晓东
难度:★★★
个人评价:★★★★
推荐程度:★★★★

这本是国人写的最好的数据结构算法书之一,讲得很细致。最后的三章:复杂性,并行算法,高级专题有一些有趣的东西,是这些高级内容的很好的导论。

第十二名

原书名:
中文名:数据结构(C语言版)
作者:严蔚敏 吴伟民
难度:★★★
个人评价:★★★
推荐程度:★★★

无需解释。

2019-03-16 18:49:31 salmon_zhang 阅读数 7954
  • 算法&数据结构

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 本课程从最基础的时间、空间复杂度概念入手,深入浅出的讲解常用排序、查找算法,通过本课程的学习,我们希望能帮你建立起算法思维,使你在以后的项目开发不断思考如何通过更优的算法来提高程序运行效率,且有能力写出适合你业务逻辑的算法程序。 为什么学习这个课程? 很多人觉得算法比较难,不好学,我认为原因有2个,一是相比于比较直观的逻辑代码实现,算法通常确实会更high-level,更抽象,更不易理解。 二 是因为你没遇到合适的教程,算法本身本来已经很抽象了,再用抽象的方法去讲解,当然很难学会。 本课程精心设计了每个算法讲解案例,把抽象的算法用形象生动的案例实现,使得算法小白也可以很容易理解,可以顺利带你进入算法的世界。

    5328 人正在学习 去看看 高乐

学习数据结构与算法,还是很有必要看几本相关的书籍,但根据不同基础的人,合适看的书也不一样,因此,针对不同层次、不同语言的人,推荐几本市面上口碑不错的书。

1. 入门级

针对刚入门的同学,建议不要急着去看那些经典书,像《算法导论》、《算法》这些比较经典、权威的书。虽然书很好,但看起来很费劲,如果看不完,效果会很不好。所以建议先看两本入门级的趣味书:

  1. 《大话数据结构》
  2. 《算法图解》

大话数据结构

将理论讲的很有趣,不枯燥。作者结合生活中的例子去对每个数据结构和算法进行讲解,让人通俗易懂。

算法图解

这是一本像小说一样有趣的算法入门书,书中有大量的图解,通俗易懂。

看完上面一本或两本入门级的书,你就会对数据结构和算法有个大概认识和学习。但这些入门级的书缺少细节、不够系统。所以想要深入的学习数据结构和算法,光看这两本书肯定是不够的。

2. 不同语言的教科书

国内外很多大学都是将《数据结构和算法分析》作为教科书。这本书非常系统、严谨、全面,难度适中,很适合对数据结构和算法有些了解,并且已经掌握了至少一门语言的同学学习。针对不同的语言,分别有:

  1. 《数据结构与算法分析:C语言描述》

  2. 《数据结构与算法分析:C++描述》

  3. 《数据结构与算法分析:java语言描述》

如果你不会C、C++、java,会Python或者JavaScript,可以看:

  1. 《数据结构与算法JavaScript描述》

  2. 《数据结构与算法:Python语言描述》

3. 面试书籍

现在很多大厂的面试都会考算法题,这里推荐几本面试算法书籍:

  1. 《剑指offer》

  2. 《编程珠玑》

  3. 《编程之美》

剑指offer

为面试算法量身定做的一本书。几乎包含了所有常见的、经典的面试题,如果能搞懂书里面的内容,一般公司的算法面试都应该没问题。

编程珠玑

这本书豆瓣评分有9分,评分很高。这本书最大的特色是讲了很多海量数据的处理技巧。其他算法书籍很少涉及海量数据。

编程之美

有些作者是微软工程师,算法题目较难,比较适合要面试Google、Facebook这样的公司的人去看。

4. 经典书籍

现在数据结构与算法最经典的书籍就是:

  1. 《算法导论》

  2. 《算法》

  3. 《计算机程序设计艺术》

这三本书非常经典,但都很厚,看起来比较费劲,估计很少有人能全部看完。但如果想更深入地学一遍数据结构和算法,还是建议去看看。

算法导论

章节安排不是循序渐进,里面有各种算法正确性、复杂度的证明、推导,对数学功底有一定要求,看起来有些费劲。

算法

偏重讲算法。内容不够全面,对数据结构方面的知识讲的不多,动态规划这么重要的知识点却没有讲。

计算机程序设计艺术

这本书包括很多卷,相比于其他书籍有更好的深度、广度、系统性和全面性。但如果你对数据结构和算法不是特别感兴趣,没有很好的数学、算法、计算机基础,很难把这本书读完、读懂。

5. 课外阅读

有些算法书籍也比较适合在平时悠闲的时候翻翻看看:

  1. 《算法帝国》

  2. 《数学之美》

  3. 《算法之美》

这些书都列举了大量的列子来解释说明,非常通俗易懂。

下面给出一张上面推荐的数据结构与算法书籍的思维导图:
在这里插入图片描述

2013-05-20 18:36:29 dxhang20110101 阅读数 846
  • 算法&数据结构

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 本课程从最基础的时间、空间复杂度概念入手,深入浅出的讲解常用排序、查找算法,通过本课程的学习,我们希望能帮你建立起算法思维,使你在以后的项目开发不断思考如何通过更优的算法来提高程序运行效率,且有能力写出适合你业务逻辑的算法程序。 为什么学习这个课程? 很多人觉得算法比较难,不好学,我认为原因有2个,一是相比于比较直观的逻辑代码实现,算法通常确实会更high-level,更抽象,更不易理解。 二 是因为你没遇到合适的教程,算法本身本来已经很抽象了,再用抽象的方法去讲解,当然很难学会。 本课程精心设计了每个算法讲解案例,把抽象的算法用形象生动的案例实现,使得算法小白也可以很容易理解,可以顺利带你进入算法的世界。

    5328 人正在学习 去看看 高乐

数据结构算法书籍推荐(转贴)

如果计算机系只开三门课,那么这三门课就一定是:离散数学,数据结构与算法,编译原理。如果只开一门课,那剩下的就一定是:数据结构与算法。Niklaus Wirth说:算法+数据结构=程序,不说废话了,下面列出一份数据结构算法书目,先从最著名的说起 

原书名:The Art of Computer Programming 
中文名:计算机程序设计艺术 
作者:Donald E.Knuth 
难度:***** 
个人评价:******* 
推荐程度:**** 
本书是算法分析的经典名作(用经典不太恰当,应该是圣经或史诗),被科学美国人列为20世纪12大科学名著之一(和Dirac的量子力学,Einstein 的广义相对论,von Neumann 的博弈论的著作等齐名)。其亮点在于其超乎寻常的数学技巧,要求读者拥有极高的数学修养,只要你坚持忍耐,一旦读懂了,你的算法和程序设计水平也会达到更高的档次,你会对程序设计有一种截然不同的体会和领悟,就是“道”(Tao)。书的排版很漂亮(得益于作者的Tex系统),看起来很舒服。作者的文笔很好,写得生动活泼,读起来荡气回肠(英文版)。习题多且精华,触及算法和程序本质,书后有几乎所有习题的答案(占了整全书篇幅的1/4),书中的分析方法体现了作者严谨的风格。不过本书的程序不是用我们熟悉的高级语言描述的,而是作者设计的MIX语言。整套书原计划出七卷,现在出了三卷:基本算法,半数值算法,排序和搜索,第四卷组合算法跳票了20年,Knuth称在2008年推出。本书有中文版,不过建议读者选用英文版,因为都学到这个程度了,英语应该不会有大困难了。引用一句话“在我们的有生之年,可能会看到C++的消亡,但Knuth和他的程序设计艺术,将永远留在我们的心里。” 

原书名:Introduction to Algorithms 
中文名:算法导论 
作者:Thomas H.Cormen,Charles E.Leiserson,Ronald L.Rivest,Clifford Stein 
难度:*** 
个人评价:***** 
推荐程度:***** 
本书俗称CLRS(作者名字的简写),算法的经典教材,堪称算法分析著作中的“独孤九剑”。作者之一Ronald L.Rivest 由于其在公开秘钥密码算法RSA上的贡献获得了ACM图灵奖。全书内容全面,结构清晰,6个部分1000多页把数据结构算法的主要内容都包含了。作者用图表,伪码解释每一个算法,通俗易懂而不失严谨性,英文比较简单,语言流畅,因此,与TAOCP相比,这本书更适合初学者,不要求读者拥有很强的数学背景和丰富的编程经验。书中习题安排合理,难度适中,在网上有全部习题的答案,网上还有作者在MIT讲述本书的课程的录像,可谓资源丰富,值得注意的是书中每一章后面都有一个Chapter notes,了解一下历史,看一下作者推荐的材料是不错的(如果你能找到的话)。 

原书名:The Design and Analysis of Computer Algorithms 
中文名:算法设计与分析 
作者:Aho,Hopcroft,Ullman 
难度:**** 
个人评价:***** 
推荐程度:***** 
该书写于1976年,作者Hopcroft是 1986年ACM图灵奖得主,这三个人写过很多书,大多数都是经典,于一般的算法书不同,该书侧重于证明算法的正确性和复杂性,而不是怎样实现和应用算法,叙述上更加形式化,属于定义-引理-定理的数学书风格,认真研究一下里面的证明能大大提高理论水平。如果你看完了CLRS或其他数据结构入门书,要深入学习算法,但TAOCP看起来又太吃力的话,这本比较适合。最后一点是书中的习题很精华,即使你不看这本书,做一下里面的习题也是非常有意思的 

原书名:Data Structures and Algorithms 
中文名:数据结构与算法 
作者:Aho,Hopcroft,Ullman 
难度:*** 
个人评价:**** 
推荐程度:**** 
上面那本书的姐妹篇,内容就简单很多了,该书写法有个特点就是每一个主题都从一个基本的观念出发,然后再逐渐深入讨论,这样做能使解释更清晰,富有启发性。不过这本书写于20年前,所以有一些高级内容如红黑树是没有的,拿这本书做教材的读者最好同时拿一本较新的来做参考。 

原书名:Algorithms in C,Algorithms in C++,Algorithms in Java 
中文名:算法I-IV(C实现),算法V(C实现)(C++实现)(Java实现) 
作者:Robert Sedgewick 
难度:*** 
个人评价:**** 
推荐程度:**** 
Robert Sedgwick是Knuth的学生,现在是princeton的教授。这是三个系列,与上面用伪码描述算法不同,本书用现今流行的语言C,C++,Java描述.那么选拿哪一种语言好呢?从算法的角度看,任何高级语言都是没区别的,虽然实现算法的时候,到了语言相关的层面会有一些细微区别,但影响不大。个人推荐C++的,因为价钱最便宜:)。本书的一个特点就是例子取得很好,代码很清晰。有中文版 

原书名:Algorithms Design Techniques and Analysis 
中文名:算法设计技巧与分析 
作者:M.H.Alsuwaiyel 
难度:**** 
个人评价:**** 
推荐程度:**** 
这本书对一般算法书较少涉及的概率算法和近似算法作了重要的补充 

原书名:Introduction to The Design & Analysis of Algorithms 
中文名:算法设计与分析基础 
作者:Anany Levitin 
难度:*** 
个人评价:**** 
推荐程度:**** 
算法书的另一种写法,以方法为主线,如Brute-Force, Divide-and-Conquer, Greedy techniques,书里面有很多有趣的习题 

原书名:Data Structures, Algorithms, and Applications in C++ 
中文名:数据结构算法与应用-C++语言描述 
作者:Sartej Sahni 译者:汪诗林等 
难度:*** 
个人评价:*** 
推荐程度:*** 
不少人推荐这本书,但我个人觉得这书不怎么样,中文版翻译水平差强人意,数据结构算法部分把该讲的都讲了,但没什么突出的地方,反而C++倒说了不少,代码的水平也不怎么样。从ACCU的评价上看,书中的实现与BOOST和STL相比相去甚远。不过这书有很多实际问题,可以看一看。 

原书名: 
中文名:算法与数据结构 
作者:傅清祥 王晓东 
难度:*** 
个人评价:**** 
推荐程度:**** 
这本是国人写的最好的数据结构算法书之一,讲得很细致。最后的三章:复杂性,并行算法,高级专题有一些有趣的东西,是这些高级内容的很好的导论。 

原书名: 
中文名:数据结构(C语言版) 
作者:严蔚敏 吴伟民 
难度:*** 
个人评价:*** 
推荐程度:*** 
另一本写的较好的中文数据结构算法书,这本书特别适合考试用(没有任何轻视的意思) 
上面的书适合哪些人(我只是学生,这只是个人意见) 
做学术研究:A+C+F 
学过初级课程要深入:C+F+(I后三章) 
在职或讲求实用:E 
入门:B或D 
程序设计竞赛:B+G+(I前八章) 
考研或程序员考试:J

2018-09-18 16:45:00 qq_19313497 阅读数 272
  • 算法&数据结构

    您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 本课程从最基础的时间、空间复杂度概念入手,深入浅出的讲解常用排序、查找算法,通过本课程的学习,我们希望能帮你建立起算法思维,使你在以后的项目开发不断思考如何通过更优的算法来提高程序运行效率,且有能力写出适合你业务逻辑的算法程序。 为什么学习这个课程? 很多人觉得算法比较难,不好学,我认为原因有2个,一是相比于比较直观的逻辑代码实现,算法通常确实会更high-level,更抽象,更不易理解。 二 是因为你没遇到合适的教程,算法本身本来已经很抽象了,再用抽象的方法去讲解,当然很难学会。 本课程精心设计了每个算法讲解案例,把抽象的算法用形象生动的案例实现,使得算法小白也可以很容易理解,可以顺利带你进入算法的世界。

    5328 人正在学习 去看看 高乐

数据结构读书笔记
2018年9月17日晚
引言
数据结构是计算机存储、组织数据的方式,它是指相互之间存在一种或多种特定关系的数据元素的集合。在计算机中,数据元素并不是孤立的、杂乱无序的而是按照一定的内在联系存储起来的,这种数据之间的内在联系就是数据结构的组织形式。
数据
数据是指能直接输入计算机中,被计算机处理的富豪和被计算机操作的对象。总的来说,数据就是能被计算机处理的符号。
数据元素
数据元素是数据结构中的基本单位,它也被叫做元素,结点,记录等。
数据对象
数据对象是性质相同的数据元素的集合。数据结构是计算机学科的理论基础之一,也是软件开发的必备基础。
数据结构的分类

1.逻辑结构
逻辑结构反映的是数据元素之间的关系,它们与数据元素在计算机中的存储位置无关,是数据结构在用户面前的呈现形式。

  1. 集合

  2. 线性结构

  3. 树形结构

  4. 图形结构

  5. 存储结构
    顺序存储
    顺序存储是把逻辑上相邻的结点存储在地址连续的存储单元里,数据元素之间的关系由存储单元是否相邻来实现。
    优点:顺序存储可以提高空间的利用效率,而且对于随机访问元素,其效率非常高,因为逻辑上相邻的元素,其存储地址也是紧邻的,所以可以按元素序号来快速查找某一个元素。
    缺点:顺序存储结构实现元素的插入和删除,效率会非常的低。因为如果要插入/删除一个元素需要将这个位置之后的所有元素后/前移一个位置。
    注意:顺序存储结构在使用时有空间限制,当需要存储元素的个数多余预先分配夫人空间时,会出现溢出现象;当元素分配少于预先分配的空间时,又会造成空间浪费。
    链式存储
    优点:插入和删除操作高效简洁
    缺点:无法进行元素的随机访问。
    注意:链式存储的空间利用率也较低,因为分配的内存单元有一部分被用来存储结点之间的逻辑关系。但链式存储在存储元素时没有空间限制,顺序存储与链式存储都是按需分配,只是链式存储在需要时方便的分配新空间,不会造成空间不足或浪费。
    索引存储
    方便数据查找而设计,在存储结点信息的同时,还建立附加的索引表。索引表存储两个字段,一个是关键字,一个是地址。这种结构类似于人们常用的字典。
    优点:快速地对数据进行随机访问。又因为在插入删除操作时,只需要更改索引表中的地址值,不必移动结点,所以在数据更改方面也具有较高的效率。
    缺点:索引结构在建立结点时会额外的分配空间来建立一个索引表,因此降低了空间利用率。
    散列存储
    又称哈希存储结构,是一种力图将数据元素的存储位置与关键字之间建立确定关系的查找技术。它的基本思想是通过一定的函数关系(散列函数、也称哈希函数)计算出一个值,将这个值作为元素的存储地址。
    优点:访问速度快
    注意:数据的各种存储结构都有各自优点,各有用途,不能说哪一种存储结构比另一种好。

谈数据结构

阅读数 423

没有更多推荐了,返回首页