精华内容
下载资源
问答
  • 数据结构算法书籍推荐

    万次阅读 多人点赞 2019-03-16 18:49:31
    学习数据结构算法,还是很有必要看几本相关的书籍,但根据不同基础的人,合适看的书也不一样,因此,针对不同层次、不同语言的人,推荐几本市面上口碑不错的书。 1. 入门级 针对刚入门的同学,建议不要急着去看...

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

    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. 《算法之美》

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

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

    展开全文
  • 数据结构算法:为什么要学习数据结构算法 数据结构算法到底是什么 数据结构数据结构指的是计算机中数据的组织形式,分为逻辑结构和物理结构两个维度。其中,逻辑结构是对数据组织形式在逻辑上的抽象,物理...

    数据结构与算法:为什么要学习数据结构与算法

    数据结构与算法到底是什么
    数据结构

    ​ 数据结构指的是计算机中数据的组织形式,分为逻辑结构和物理结构两个维度。其中,逻辑结构是对数据组织形式在逻辑上的抽象,物理结构则是基于存储设备对数据真实的组织管理,因此又被成为存储结构。学习和研究数据结构,就是研究数据的逻辑结构、物理结构及二者之间的关系。因此,数据结构中的”结构“二字,可以理解为数据之间存在的关系。

    算法

    ​ 算法在计算机领域指的是对特定问题的解决方案的一系列指令化描述。算法必须是明确且有穷的,即一个算法必须要有明确的定义,一定的输入在有限的步骤内可以获得要求的输出。

    数据结构与算法的关系

    ​ 算法是对一定的数据结构进行的特定操作,数据结构是算法的基础。在解决问题时,没有最好的算法,只有最合适的算法,数据结构也是。

    为什么要学习数据结构与算法

    ​ 知道了什么是数据结构与算法,接下来聊聊为什么要学习它。

    ​ 首先,最现实的问题是无论校招还是社招,技术面试中多多少少都会问到数据结构与算法相关的问题。例如最直接的一种,面试官上来就让手写一个快排的代码,或者给一段代码,要求分析时间复杂度和空间复杂度。

    ​ 其次,日常繁杂的业务工作往往容易让人忽略程序实现细节和原理。就 Java 来说,无论是其自身的基础 API,还是第三方提供的开源框架,都糅合很多优秀的数据结构和算法的设计思想。

    ​ 最后,如果不重视程序的性能好坏,日复一日业务开发显然无法持续提升个人的编程和设计能力。而提升代码质量的第一步,就是建立起时间复杂度、空间复杂度的意识。

    ​ 综上,扎实的数据结构与算法基础,能大大提升面试通过率,大大提升对语言、框架和工具的理解层次,大大提升编程和设计能力。

    展开全文
  • 数据结构算法程序的关系

    千次阅读 2020-06-02 01:14:18
    这里写目录标题初衷数据结构算法程序的联系 初衷    数据结构算法程序的联系 数据结构 = 数据 + 结构 算法 = 算 + 法 程序 = (流)程 + (顺)序 反爬虫措施,读者略过: 转载请标明转自:...

    1 前言

      在写这篇博客之前,我一直以为数据结构与算法是一回事,毕竟每次讲到数据结构,就一定会涉及到算法,这两者总是成对出现,总感觉它们之间的关系理不清道不明,就很容易将其混为一谈,于是乎就各种查资料,汇总出以下内容。

    2 数据结构、算法

    个人理解&大杂烩:

    1. 数据结构 = 数据 + 结构:
        数据的逻辑结构与存储结构,比如线性、树形等逻辑结构,队列、链表等存储结构 ,更多的是侧重在数据方面;
    2. 算法 = 算 + 法:
        计算的方法,更多的是关于问题求解过程中方法的描述;
        
      下面是大佬所举的通俗易懂的例子:
      在这里插入图片描述

    3 数据结构、算法、程序

    不对程序这个词做过多的解释,用下面公式表明三者之间的关系,也就理解了程序的意思,以及三者之间的联系:
    在这里插入图片描述
    就是这么一个看似简单的公式让Nicklaus Wirth获得了图灵奖。

    公式展开来就是:
    提出问题==> 数据结构 + 算法 == 程序 ==> 问题解决

    最后总结一下:
      数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现,两者相辅相成,构成了一个程序。

    反爬虫措施,读者略过:
    转载请标明转自:https://leejason.blog.csdn.net/article/details/106466258
    
    展开全文
  • 程序=算法+数据结构

    千次阅读 2020-11-09 09:55:05
    程序=算法+数据结构❞这是一句非常著名的话,凭借这一句话直接获得图灵奖,可想数据结构算法有多重要。同时,在各个大厂招聘面试时,也会提到数据结构算法。❝你知道什么什么数据结构吗查找、...

    程序=算法+数据结构

    这是一句非常著名的话,凭借这一句话直接获得图灵奖,可想数据结构和算法有多重要。同时,在各个大厂招聘面试时,也会提到数据结构和算法。

    你知道什么什么数据结构吗

    查找、插入等操作的时间复杂度是多少

    给出一个问题,问需要用到什么数据结构,时间和空间的复杂度分别是什么,可不可以优化。

    所以一名优秀的程序员,应该了解和使用数据结构和算法。

    那么什么是数据结构,算法又是什么呢。

    名字解释

    我的大学老师这样解释数据结构和算法:

    数据结构是对「所有数据的元素和元素与元素关系的描述」,算法是「对特定问题求解步骤的描述」

    「数据」是描述客观事物的数和字符的集合,在计算机的角度,所有能输入到计算机中且能被计算机处理的符号都是数据。

    「数据项」是具有独立含义的数据最小单位。

    「数据结构」是以某种关系将数据联系在一起,而「算法」是对特定问题求解步骤的一种描述,是指定的有限序列。

    在实现算法中需要使用到数据结构来减少步骤,提高效率。

    一般来说,判定一个算法的好坏,有两方面的标准,一个是代码运行的时间,另一个是代码运行占用的空间,分别称为「时间复杂度」「空间复杂度」

    我们一般用O来表示时间复杂度,如下代码:

    for( i=1; i<=n; i++) {
      j = i;
      j++
    }
    

    这段代码会从i=1执行到i=n,代码执行了n次。代码的执行次数与n的大小有关,所以用O(n)来表示这段代码的时间复杂度。

    常见的时间复杂度由小到大依次为:

    • O(1)

    • O(logN)

    • O(n)

    • O(nlogN)

    • O(n²)

    • O(n³)

    • O(2^n^)

    在高中学过的数学就可以证明几种函数的增长趋势,当随着n变大,计算机运行时间也要变长,尤其是指数方式增长时,运行时间将漫长无比。在计算机中, 为了降低时间复杂度,有多种方法,一种是「空间换取时间」,如桶排序等;或者是优化算法,降低时间复杂度。

    显然,时间复杂度只是一种增长趋势,而不是具体的使用了多少时间,空间复杂度同样不是计算程序具体使用了多少空间,而是「指一个算法在运行中,使用了多少临时空间的一个度量」

    例如,如果在算法中定义了一个变量,那么空间复杂度就是常数级,也就是O(1)。如果定义了一个长度为n的数组,那么空间复杂度就是O(n)。

    现在计算机的性能越来越好,空间资源可以说是足够多,所以算法优化主要是对时间复杂度的优化,甚至会用空间换取时间。

    所以,知道了什么是数据结构和算法,接下来的文章开始学习数据结构和算法,一起向一名优秀的打工人进步吧。

    展开全文
  • 算法+数据结构=程序

    2009-08-06 12:20:08
    算法+数据结构=程序算法+数据结构=程序算法+数据结构=程序算法+数据结构=程序算法+数据结构=程序算法+数据结构=程序算法+数据结构=程序算法+数据结构=程序算法+数据结构=程序
  • 程序=数据结构+算法

    千次阅读 2020-08-22 14:58:52
    最近重新学起了数据结构算法。这些知识在实际工作中用的比较少,但这些是基础,掌握这些可以解决一些复杂业务,做出高性能系统。下面分享学习成果。 1 数据 , 数据结构 ,算法 的理解。 数据是抽象概念,在计算机...
  • 数据结构算法数据结构+算法=程序 数据结构 计数机的处理能力来源于cpu, 通过计算机汇编语言(Assembly Language)进行运算工作,cpu只可以做一些简单的二进制操作. 那么问题来了 ? 计算机如何处理 视频/mp3等应用...
  • 1、《挑战程序设计竞赛2 算法数据结构》这好像是第一版吧,本书适合程序设计人员、程序设计竞赛爱好者以及高校计算机专业师生阅读。 2、附带完整书签
  • 数据结构:相互之间存在关系的数据元素的集合,描述的是数据与数据之间的结构关系,数据元素之间的存在的关系会产生不同的...数据结构算法两个概念间的逻辑关系贯穿了整个程序世界,首先二者表现为不可分割的关系...
  • Java数据结构算法中文第二版源码

    热门讨论 2015-09-01 12:02:09
    数据结构算法能起到什么作用? 数据结构的概述 算法的概述 一些定义 面向对象编程 软件工程 对于C++程序员的Java Java数据结构的类库 小结 问题 第2章 数组 Array专题Applet Java中数组的基础知识 将程序划分成类...
  • 数据结构算法分析:C语言描述(原书第2版)》的目的是培养学生良好的程序设计技巧和熟练的算法分析能力,使得他们能够开发出高效率的程序。从服务于实践又锻炼学生实际能力出发,书中提供了大部算法的C程序和伪码...
  • 30 个重要数据结构算法完整介绍(建议收藏保存)

    万次阅读 多人点赞 2021-06-07 08:02:06
    数据结构算法 (DSA)通常被认为是一个令人生畏的话题——一种常见的误解。它们是技术领域最具创新性概念的基础,对于工作/实习申请者和有经验的程序员的职业发展都至关重要。话虽如此,我决定在CSDN新星计划挑战...
  • 数据结构核心原理与算法应用

    千人学习 2019-09-03 17:50:03
    数据结构”,编程者如果没有掌握数据结构算法,就说明没有真正掌握程序设计的能力,也就是不没有真正的学会编程。 从编程的角度来看,数据结构算法几乎是最朴素的基础知识了,这一关,是每一个立志当好程序员的...
  • .1_编程的灵魂——数据结构+算法=程序.ppt.1_编程的灵魂——数据结构+算法=程序.ppt.1_编程的灵魂——数据结构+算法=程序.ppt.1_编程的灵魂——数据结构+算法=程序.ppt
  • 数据结构:是指相互之间存在一种或多种特定关系的数据元素的集合用计算机存储、组织数据的方式。数据结构分别为逻辑结构、(存储)物理结构和数据的运算三个部分。 为什么要学数据结构? 首先,因为数据结构作为...
  • 深入理解程序=数据结构+算法

    千次阅读 2018-09-18 20:57:23
    程序=数据结构+算法 研究程序---研究数据对象有哪些?用什么样的存储方式去存储这些数据对象?为数据对象选择什么样的存储类型? ------需要执行的操作有哪些?这样的操作用什么样的算法好一些呢? 什么样的算法...
  • 数据结构算法之美

    千次阅读 2019-08-31 17:14:58
    数据结构是为算法服务的,算法要作用在特定的数据结构之上。 因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但...
  • 数据结构算法三十题,弄懂这些面试就够了!

    万次阅读 多人点赞 2019-02-01 08:30:28
    瑞典计算机科学家 Niklaus Wirth 在 1976 年写了一本书,叫作《Algorithms + Data Structures = Programs》(算法+数据结构=程序)。 即便在 40 年后的今天,这条等式仍然成立。这也是为何程序员求职者应该向面试...
  • 干货教程:数据结构算法之美

    千次阅读 2019-08-22 21:16:54
    第⼀期:数据结构算法学习书单 第⼆期:争哥独家学习⼼得 第三期:算法实战测试题 第四期:⼤咖的专栏学习⽅法 ⽤户故事 1:这⼀年我的脑海⾥只有算法 ⽤户故事 2:只有站在思维的⾼处,才有⾜够的视野和能⼒欣赏...
  • 数据结构算法演示系统,动态演示数据结构算法执行过程的辅助教学系统
  • 数据结构算法C语言版—绪论

    千次阅读 多人点赞 2019-06-17 15:26:59
    2、数据元素(data element):数据的基本单位,也称结点(node)或记录(record) 3、数据项(data item):有独立含义的数据最小单位,也称域(field) 三者之间的关系:数据 > 数据元素 > 数据项 例...
  • 为什么说程序=算法+数据结构

    万次阅读 2016-06-20 22:27:30
    没有算法程序,只是一些代码的堆砌,谈不上是一个优秀的软件。 算法是软件的灵魂,得益于好的算法会给软件带来的往往都是质...你一定要说清楚你是曾经侧重或者精于搞算法或者数据结构的软件系统建筑师(还是码农~)。
  • 文章目录思维导图一、算法的提出1.算法的概念2.算法的五大特性二、算法效率衡量1.执行时间反应算法效率2.不能单靠时间衡量算法效率3.时间复杂度与“大O记法”4.如何理解“大O记法”5.最坏时间复杂度6.时间复杂度的几...
  • 程序算法数据结构的关系

    万次阅读 2017-10-24 10:29:00
    本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度...数据结构算法要通过程序的实现,才能由计算机系统来执行。可以这样理解,数据结构算法形成了可执行的程序。而程序能否快速而有效地完
  • 数据结构算法设计基础

    千次阅读 2020-09-18 21:44:33
    数据结构地位2 基本概念和术语基本概念数据结构的两个层次:逻辑结构划分方法一:划分方法二:存储结构(物理结构)存储结构分为:3 抽象数据类型的表示与实现数据类型抽象数据类型(ADT: Abstract Data Types)4 算法...
  • 图解数据结构算法

    万人学习 2020-07-27 10:56:16
    数据结构算法程序的基础,没有系统地学习过数据结构算法的程序员只能称作是coder,知道我们写的代码使用了什么数据结构,它的特征是什么。知道解决某些问题是用的何种算法才会从coder晋升为工程师。 另外,...
  • 数据结构算法分析:算法分析

    千次阅读 2018-09-21 21:17:54
     算法4:只对数据进行一次扫描,一旦A[i]读入并被处理,它就不再需要被记忆 int MaxSequenceMax(const int A[],int N){ int ThisSum,MaxSum,j; ThisSum=MaxSum=0; for(j=0;j;j++){ ThisSum+=A[j]; if...
  • 配套程序链接:https://pan.baidu.com/s/1HYka42KngWT2el7T0HO7LA 密码:i6hw 虽说数据结构以美国人Mark Allen Weiss 写的《数据结构算法分析——C语言实现》最好,但是我发现他的书让人很不容易理解,可能我们...
  • 数据结构算法真的那么重要么?

    千次阅读 2019-03-25 13:41:04
    很多同学对数据结构算法的第一印象,可能是觉得它复杂、深奥、难以理解。之所以会有这种观念,我认为主要是因为没有找到适合自己的学习方法及学习资料。其实学习任何知识点,只要找到对的学习方法和学习资料,都能...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 661,412
精华内容 264,564
关键字:

数据结构程序算法

数据结构 订阅