精华内容
下载资源
问答
  • 这些年来,阅读了大量关于数据结构与算法方面的图书,包括教材和店面用书,对于数据结构与算法方面的学习,积累了一些心得,其实很想告诉刚刚和即将接触计算机的朋友们关于如何学习数据结构与算法、如何规划今后的...

    这些年来,阅读了大量关于数据结构与算法方面的图书,包括教材和店面用书,对于数据结构与算法方面的学习,积累了一些心得,其实很想告诉刚刚和即将接触计算机的朋友们关于如何学习数据结构与算法、如何规划今后的学习,使其少走一些弯路。其实,要想扎实掌握数据结构与算法,最重要的是选择一本适合自己的图书,最好是理论和实践相结合去学习,这样才会有好的效果。下面是关于数据结构与算法方面经典图书的特点,仅供大家参考,欢迎批评指正和相互交流学习讨论。QQ 235668080

    1、算法(第4版)

    算法(第4版)(图灵出品) [Algorithms, Fourth Edition]

    人民邮电出版社

    [美] Robert Sedgewick,[美] Kevin Wayne 著,谢路云 译

    特点:Java语言描述,注重理论思想方面的介绍,讲解详细细致,阅读起来比较轻松,堪称经典。

    2、算法导论

    美 Thomas H CormenC 著,殷建平 徐云 王刚 译

    机械工业出版社

    特点:伪C代码描述,讲解详细细致,阅读起来相对来说比较轻松,与上一本算法都非常经典。

    3、数据结构与算法分析

    [美] 马克·艾伦·维斯(MarkAllenWeiss) 著,冯舜玺译 译

    机械工业出版社

    特点:C语言描述,经典图书。

    以上三本关于数据结构与算方面的图书都非常经典,写作风格比较容易理解,这是国外教材与国内教材不同的地方。

    4、数据结构教程(第5版)

    李春葆

    清华大学出版社

    特点:C语言描述,内容详尽,配套资源丰富,讲解详细,图表丰富,值得推荐。如果想学扎实,这本书可以一看。

    5、数据结构(C语言版)

    严蔚敏

    清华大学出版社

    特点:经典教材,主要是用伪C语言描述,理论性强,这本书适合配合其他C语言实现的书阅读,大多数高校考研推荐书目。

    6、数据结构

    耿国华

    高等教育出版社

    特点:C语言描述,讲解到位,内容全面,适合作为本科教材使用,值得推荐阅读。

    7、数据结构(C语言版)

    李冬梅

    人民邮电出版社

    特点:C语言实现,其实是一本简化版数据结构教材,适合作为应用型本科作为教材使用。

    以上是国内使用最多的数据结构教材,各有特点,如果想扎实掌握数据结构,推荐李春葆数据结构第5版、耿国华数据结构C语言描述和严蔚敏数据结构(清华大学出版社)的教材。

    8、数据结构(C语言实现)

    陈锐、马军霞、张建伟等

    机械工业出版社

    特点:C语言实现,内容全面,案例丰富,所有代码均在VC++环境中运行通过,代码完整,可直接运行,除了理论讲解细致外,讲究实现的重要性,推荐融会贯通学数据结构的同学使用。

    9、数据结构与算法详解

    陈锐、张志锋、马军霞等

    人民邮电出版社

    特点:C语言实现,基础+典型案例,提供大量案例和实现代码,推荐阅读。

    10、零基础学数据结构

    机械工业出版社

    陈锐、成建设等

    特点:C语言实现,完整代码,案例丰富典型,受到中科大、华中科技大学、北京航空航天大学、北京理工大学、西安交通大学、西电等高校学生喜爱,评价较高,适合考研和进软件公司的同学阅读。

    以上几本图书讲解详细,案例丰富典型,配套习题参考答案,可作为学习数据结构的参考用书和自学教材。

    11、数据结构考研复习指导+算法与数据结构考研试题精析+数据结构高分笔记

    电子工业出版社

    机械工业出版社

    特点:搜集了历年考研试题,习题丰富,其中王道论坛和天勤考研主要是知识点归纳+总结+试题讲解,而算法与数据结构考研试题精析主要是把所有各高校考研试题进行了搜集整理。

     

     

    展开全文
  • 十本数据结构与算法书籍推荐

    千次阅读 2021-05-20 22:57:29
    在这里列出一些我看过或者准备看的算法书籍,以供参考。 第一名 原书名:The Art of Computer Programming 中文名:计算机程序设计艺术 作者:Donald E.Knuth 难度:★★★★★ 个人评价:★★★★★ 推荐...

    学计算机的人是幸福的,因为在这个领域中有如此多的通俗易懂(相对来说)的经典好书,你需要做的只是坚持把它们一本一本读下去而已。在这里列出一些我看过或者准备看的算法书籍,以供参考。

    第一名

    原书名: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 算法设计 很经典的一本书,很久之前看的。个人觉得“算法设计”比“算法导论”好。

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

    第八名

    原书名:算法艺术与信息学竞赛

    中文名: 算法艺术与信息学竞赛

    作者: 刘汝佳

    难度:★★★

    个人评价:★★★★

    推荐程度:★★★★

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

    本书是专为参加一些诸如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

    难度:★★★★

    个人评价:★★★★

    推荐程度:★★★★

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

    展开全文
  • 今天整理出一些算法相关学习资源,包括书籍、算法刷题网站、项目资源、视频课程、面试要领这5个方面。首先介绍一下技术阅读方法论。一.速读一遍(最好在1~2天内完成)人的大脑记忆力有限,在一天内快速看完一本书...

    今天整理出一些算法相关学习资源,包括书籍、算法刷题网站、项目资源、视频课程、面试要领这5个方面。

    首先介绍一下技术书阅读方法论。

    一.速读一遍(最好在1~2天内完成)

    人的大脑记忆力有限,在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用。 对于每一章的知识,先阅读标题,弄懂大概讲的是什么主题,再去快速看一遍,不懂也没有关系,但是一定要在不懂的地方做个记号,什么记号无所谓,但是要让自己后面再看的时候有个提醒的作用,看看第二次看有没有懂了些。

    二.精读一遍(在2周内看完)

    有了前面速读的感觉,第二次看会有慢慢深刻了思想和意识的作用,具体为什么不要问我,去问30年后的神经大脑专家,现在人类可能还没有总结出为什么大脑对记忆的完全方法论,但是,就像我们专业程序员,打代码都是先实践,然后就渐渐懂了过程,慢慢懂了原理,所以第二遍读的时候稍微慢下来,2周内搞定。记住一句话:没看完一个章节后,总结一下这个章节讲了啥。很关键。

    三.实践(在整个过程中都要)

    实践的时候,要注意不用都去实践,最好看着书,敲下代码,把重点的内容敲一遍有个肌肉记忆就很不错了。 以及到自己做过的项目中去把每个有涉及的原理的代码,研究一遍,就可以了

    一共四个系列整整50+本电子书,找了好久终于齐了,如果都能看完看懂且科学的总结外加合理的实践,相信未来你的技术路会更好走,当然阿里巴巴,腾讯,阿里这些的Offer不将是梦,除了多看点技术书,你觉得还有什么能拿出来和985,211的朋友比呢?

    最近在学习算法和数据结构+涉及一点acm方面的知识,看到一篇好的关于数据结构和算法的书籍,如果计算机系只开三门课,那么这三门课就一定是:离散数学,数据结构与算法,编译原理。如果只开一门课,那剩下的就一定是:数据结构与算法。

    Niklaus Wirth说:算法+数据结构=程序。

    不说废话了,下面列出一份数据结构+算法书单,从入门到进阶说起。

    v2-5479c68ef4b0ee1f628b2feb2c85b42e_b.jpg

    v2-5c5afbe3aa96eecaee6376ba5fe6bfe2_b.jpg


    以下是每本书的推荐语,清楚自己缺的是什么,就下定决心去补吧,一个好工作意味着高收入,投资自己的时间换来更宝贵的东西。

    我整理的这些书大家可以在这里获取,对于学习计算机的同学学习以及校招复习帮助非常大,且十分系统

    【算法与数据结构】+一点点ACM从入门到进阶吐血整理推荐书单(珍藏版)


    争取做到,看完这一篇,算法相关学习资料全掌握!话不多说,这就开始吧!

    一:书籍推荐


    【入门阶段】


    1、啊哈!算法(豆瓣评分7.7)


    插图和讲解相当到位~~让人看了很感兴趣,把算法用非常形象的方式表达出来,通俗易懂,这下学习算法的朋友有福了。

    这是一本充满智慧和趣味的算法入门书。没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点,通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松的小故事或是在玩一把趣味解谜游戏,在轻松愉悦中便掌握算法精髓,感受算法之美。

    v2-9420f4d865f7753a9fc9ea0b9a53e363_b.jpg


    2、算法图解(豆瓣评分8.4)

    算法教科书通常让人昏昏欲睡,麻烦就在于算法是绕不开的必修课。以前大学有这个课程,看过几本算法书,都不太满意,看不懂很打击自信心。

    而这本图解书确实有所突破,很容易看懂,不枯燥。书不到200页,我几个小时就看了一半。虽然都是些入门级的算法,经过作者梳理后就很清晰了。

    我觉得这是最好的最有趣的算法入门书。媲美国内的《啊哈算法》那本书。

    读完本书虽然没有什么高深的算法,但是可以自信地说算法入门了。

    v2-5b55b8e67e128112d4af6625d72ed79c_b.jpg


    3、《趣学算法》(豆瓣评分8.9)


    非常好的一本书,图解多,思路清晰,不仅讲了问题分析算法设计的过程,还讲了如何优化算法,不同的数据结构上设计算法会有什么样的复杂度。值得推荐。

    v2-802772ec6ca27f52ca097f56a1521d2a_b.jpg


    【掌握阶段】


    1、大话数据结构(豆瓣评分7.9)


    时逢找工作,为笔试准备,需数据结构、数据库、c/c++、计算机系统、网络方面知识。对于数据结构,力荐此书,通俗易懂,非常适合计算机相关专业朋友…

    本人本科初学数据结构时对于所谓时间复杂度完全摸不着头脑,虽然凭着绝佳的短期记忆力在中国式考试中拿到高分,但在实际程序设计开发中一无所用,故借此机会重学这方面知识。本书对时间复杂度,即大O阶的推导讲解十分细致,很容易就将“多年顽疾”解决。

    由此管窥此书,其他方面知识点也讲得非常清楚,附有大量插图,更是适合对大段文字提不起兴趣的朋友。


    2、算法设计与分析基础(豆瓣评分8.7)


    本书十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识即可。


    3、算法详解(卷1)——算法基础(豆瓣评分8.8)


    本书为对算法感兴趣的广大读者提供了丰富而实用的资料,能够帮助读者提升算法思维能力。本书适合计算机专业的高校教师和学生,想要培养和训练算法思维和计算思维的IT专业人士,以及在准备面试的应聘者和面试官阅读参考。

    v2-ae70cffc34d570c2ef8f3b446e8d32aa_b.jpg

    【进阶阶段】


    1、算法导论(原书第3版)(豆瓣评分9.2)


    经典必看著作!!本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。不建议初学者看,等有了一定的算法功底进行学习比较好。

    v2-86ab61203ebfe67c29e63a5279d3fa36_b.jpg

    2、编程珠玑(豆瓣评分9.1)


    本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。这本书最大的特点是里面涉及到了对于海量数据的处理方式,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。

    v2-a68c7103d8c0eb8fe4bcb4a4d48ed581_b.jpg


    4、计算机程序设计艺术(豆瓣评分9.8)


    这本书首先介绍编程的基本概念和技术,然后详细讲解信息结构方面的内容,包括信息在计算机内部的表示方法、数据元素之间的结构关系,以及有效的信息处理方法。此外,书中还描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的初级应用。此第3版增加了数十项简单但重要的算法和技术,并根据当前研究发展趋势在数学预备知识方面做了大量修改。


    5、算法第 4 版(豆瓣评分9.3)


    《算法(英文版•第4版)》作为算法领域经典的参考书,全面介绍了关于算法和数据结构的必备知识,并特别针对排序、搜索、图处理和字符串处理进行了论述。第4版具体给出了每位程序员应知应会的50个算法,提供了实际代码,而且这些Java代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了本书内容的摘要及更多的代码实现、测试数据、练习、教学课件等资源。


    6、算法引论(豆瓣评分9.1)


    这本书是国际算法大师乌迪·曼博(Udi Manber)博士撰写的一本享有盛誉的著作。本书的特色有二,旨在提高读者的问题求解能力,使读者能够理解算法设计的过程和思想:一是强调算法设计的创造性过程,注重算法设计背后的创造性思想,而不拘泥于某个具体算法的详细讨论;二是将算法设计类比于定理归纳证明,揭示了算法设计的基本思想和本质。


    【面试工作必看书籍】


    1、剑指offer(豆瓣评分8.3)


    这本书剖析了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。是面试必读书籍之一。

    v2-9d1436c12c271be1d50229e517ed5522_b.jpg

    2、编程之美(豆瓣评分8.4)
    这本书收集了约60道算法和程序设计题目,这些题目大部分在近年的笔试、面试中出现过,或者是被微软员工热烈讨论过。作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,寻找更优的解法。

    v2-ee847eab46cbb89f5d05af9fb92b0013_b.jpg

    3、《挑战程序设计竞赛(第2版)》(豆瓣评分9.0)
    本书对程序设计竞赛中的基础算法和经典问题进行了汇总,分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110 多道各类试题进行了由浅入深、由易及难的细致讲解,并介绍了许多实用技巧。每章后附有习题,供读者练习,巩固所学。

    v2-1dd4090ad533be011429df5b00dc1c33_b.jpg


    4、《程序员实用算法》(豆瓣评分7.3)
    本书重点关注的是实用、立即可用的代码,并且广泛讨论了可移植性和特定于实现的细节。结构清晰,示例丰富,可作为广大程序员的参考用书。

    v2-06c38bf56295cf039f98ffe9e1708aac_b.jpg

    二:算法刷题网站

    1、LeetCode


    估计 leetcode(力扣)大家都很熟悉了,很多国内外的程序员在上面刷题,难度从 Easy、Medium 至 Hard 都有,据说很多面试官都会从中挑选各种题目,号称大厂的筛码工。

    2、AlgoMooc

    一个提供算法图解的平台,从此,刷题不再枯燥。

    AlgoMooc-一个专属于程序员的平台,和大家一起刷题

    3、牛客网


    牛客网作为国内内容超级丰富的 IT 题库,各种题库+面试+学习+求职+讨论 360 度无死角服务,堪称"互联网求职神器"。它好就好在不只是一个刷题的平台,还是一个交流学习的平台。


    4、hihoCoder


    网站的技术团队来自于原北大 POJ 的开发团队,至于 POJ 会在后面的篇章中介绍,反正膜拜就完事了。一些知名的大厂比如微软、百度、腾讯、网易等会在上面举办在线编程比赛,风格倒是和 ACM 比赛类似。

    5、HDU

    杭电(杭州电子科技大学)的 OJ 大概是国内最火的几个 OJ 之一了,现在上面大概有接近 6k 的题量,网上有很多的刷题顺序,刷题指南。

    6、POJ

    作为国内最火的几大 OJ 之一,现在上面有 3k+ 的题量,关于 POJ 的刷题指南网上更是很多。

    7、代码课堂

    大学生在线编程首选平台,里面也有很多IT题库,种类丰富,题量齐全。

    注册 - 代码课堂-专注在线编程学习,零基础编程入门的教程网站!



    三:项目资源

    1、Competitive-Programming-Docs

    项目介绍:这个项目是一个总资源集,内容非常全面,包含算法竞赛论文,课件,文档,笔记,平台等资料。

    项目地址:
    github.com/LzyRapx/Comp

    2、负重前行,前端工程师如何系统练习数据结构和算法?【上】

    项目介绍:作者详细提供了系统练习数据结构和算法的方法论。

    项目地址:
    juejin.im/post/68449040

    3、GitHub——微软项目

    此存储库包含构建推荐系统的示例和最佳实践,作为 Jupyter 笔记本提供。这些示例详细介绍了我们对五个关键任务的学习:准备数据模型、脱机指标评估算法、型号选择和优化、操作性

    项目地址:
    github.com/microsoft/re

    4、五分钟学算法:算法与数据结构文章详细分类与整理!

    项目介绍:该项目包含10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树,以及10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。

    项目地址:
    cxyxiaowu.com/7072.html

    5、 GitHub开源项目——Build Your Own X

    该库收集了诸多优质资源,教你如何构建一些属于自己的东西,内容主要分为增强现实、区块链、机器人、编辑器、命令行工具、神经网络、操作系统等几大类别。

    项目地址:
    github.com/danistefanov

    6、GitHub开源项目——Gitignore

    帮助Git工程师解决:每次你需要为项目创建 .gitignore 文件时,只需要打开这个项目,针对你当前所用编程语言或框架,去寻找对应 .gitignore 模板替换即可。

    项目地址:
    github.com/github/gitig

    四:视频课程

    1、300分钟搞定数据结构与算法

    LeetCode 官方国内唯一合作课程,leetCode刷题秘籍独家揭秘,专注于面试场景,全程动态动画教学。

    地址:bilibili.com/video/av79

    2、麻省理工学院公开课:算法导论

    课程主题包含了:排序、搜寻树、堆积及散列;各个击破法、动态规划、偿还分析、图论算法、最短路径、网络流、计算几何、数字理论性算法;多项式及矩阵的运算;高速缓存技术及并行运算。


    地址:open.163.com/special/op

    4、中国大学MOOC-数据结构

    国内关于数据结构非常经典的课程。
    地址:icourse163.org/course/z

    五:面试要领

    算法与面试之-如何准备算法面试

    主要介绍算法面试的一些问题、以及如何准备算法面试。
    地址:微信大佬总结的算法学习经验-五分钟学算法

    原文链接: 算法学习资料汇总
    作者:码小会

    展开全文
  • JavaOOP、Java集合/泛型、Java中的IONIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、...

    前言

    当你准备跳槽面试的时候,明明只是一份15K的工作,却问你会不会多线程,懂不懂高并发,火箭造得让你猝及不防,结果就是两个字——凉凉!而在如今的市场,什么多线程、高并发、分布式、负载均衡、集群、微服务等等等等,都可说是Java高级后端开发求职的必备技能。

    image

    2021的春招可以说也是完美收官,前段时间收到字节跳动的面试邀请,虽有点震惊,但却依旧保持平常心去对待,结果一不小心就吊打了面试官

    美团一面:

    中间省略掉大概几个问题,因为我不记得了,下面记得的基本都是我没怎么答好的。

    1. 了解SOA,微服务吗?
    2. 分布式系统如何负载均衡?如何确定访问的资源在哪个服务器上?
    3. 一.轮询。二.随机。三.最小响应时间。四. 最小并发数。五.哈希。
    4. 设计一个分布式负载均衡缓冲系统,如何快速定位到是那个服务器(使用key分段、一致性hash)
    5. 如何保证缓冲区和数据库之间的强一致性(使用加锁)
    6. HashMap高并发情况下会出现什么问题,(扩容问题)
    7. 说一说在浏览器中输入一个url后,直到浏览器显示页面的过程中发生了什么(我主要说了DNS,然后他有接着问了DNS的细节,然后就是ARP路由,然后服务器处理,返回,浏览器呈现,获取html中的依赖资源)
    8. 字符串中句子的反转(比如ABC DEF,输出DEF ABC)(很简单,可以先反转整个字符串,然后反转单词,或者先将句子切分为单词,然后反转);
    9. 给任意二叉树的所有结点加next指针(这个有原题,也可以参考按层打印二叉树)。
    10. 用过反向代理吗?

    美团二面:

    1. 进程间共享内存的方式有哪些?(8种)
    2. linux下如何查看网络端口状态(netstat),如何查看内存使用情况(top)?
    3. ConcurrentHashMap如何扩容?
    4. 知道java的异常吗?
    5. 运行时异常如果不处理会怎么样?应该怎么处理运行时异常?
    6. 写代码:给你5000万个int,求出前1000个最大的数,有2G内存。(我刚开始以为5000万个int很多,还把G和byte的换算忘了,后来面试官指导才想起来。我的方法是维护一个1000的小根堆,然后遍历数组,总体下来时间复杂度是O(nlg1000))
    7. 给你n个不重复的整数,随机找出m个不重复的整数,要求时间和空间复杂度都是O(m)。(方法很简单,就是每次把取出来的数放到后面,只在前面的数组随机访问就可以了,时间复杂度是O(m),空间复杂度是O(1),不过我刚开始没有想到把选出来的放后面去)。
    8. 对于SQL慢查询的优化?(主要是从查询语句和数据库表设计两个方面来考虑,查询语句方面可以增加索引,增加查询筛选的限制条件;数据库表设计的时候可以拆分表,设计得更细粒度。但是后来才发现面试官想要的就是查询大量数据的慢查询问题的优化。)
    9. 用过哪些容器?(tomcat)对比过Tomcat与其他服务器的区别吗?比如nginx?
    10. 用过动态代理吗?以后会经常用到的。

    美团三面:

    1. 自我介绍,说说你项目中的数据流向(画结构框图)
    2. 看过什么书?
    3. 说说深入理解JVM中印象最深刻的章节(我说了JVM内存模型,垃圾回收和类加载);
    4. 补充:还问了堆和栈中存的是什么?static修饰的遍历存在哪里?(方法区)
    5. 说说《Effective Java》中你印象最深的三条和你的理解
    6. 你觉得你哪一块只是最熟悉(我说了Java的基本数据结构)
    7. 那你说说HashMap的内部实现;
    8. HashMap是线程安全的吗?(不是,ConcurrentHashMap是)
    9. 那ConcurrentHashMap内部是如何实现的?每个segment是个什么数据结构?(HashTable)
    10. 你的项目中用到哪些技术?(Spring)
    11. 说说你用了它的什么?(Spring IOC用的最多)
    12. Spring的优点?Spring AOP的原理?Spring如何实现解耦合?
    13. 对链表了解吗?(我说是List吗)是,(了解ArrayList和LinkedList),那你说说他们的区别?
    14. 会做链表两个结点的交换吗?(链表反转吗?)是的,你写代码实现把。
    15. 再写一个,给你一个链表和一个整数k(k大于等于0,小于等于链表长度,链表长度未知),按k步
    16. 反转链表(比如1->2->3->4->5->6->7,当k=3的时候结果是3->2->1->6->5->4->7)
    17. 说说mybatis配置了xml过后是如何完成数据库操作的?

    最后

    一次偶然,从朋友那里得到一份“java高分面试指南”,里面涵盖了25个分类的面试题以及详细的解析:JavaOOP、Java集合/泛型、Java中的IO与NIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服务、Linux。

    这不,马上就要到招聘季了,很多朋友又开始准备“金三银四”的春招啦,那我想这份“java高分面试指南”应该起到不小的作用,所以今天想给大家分享一下。

    image

    请注意:关于这份“java高分面试指南”,每一个方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析

    方向专题(25个)的题目这里几乎都会列举,在不看答案的情况下,大家可以自行测试一下水平 且由于篇幅原因,这边无法展示所有完整的答案解析

    资料领取方式:点击【java高分面试指南-25大专题分类】

    展开全文
  • 数据结构与算法必知基础知识

    千次阅读 多人点赞 2021-01-06 22:58:12
    数据结构与算法是程序员内功体现的重要标准之一,且数据结构也应用在各个方面,业界更有程序=数据结构+算法这个等式存在。各个中间件开发者,架构师他们都在努力的优化中间件、项目结构以及算法提高运行效率和降低...
  • 案例丰富:从应用出发,结合大量实际案例,对概念与算法进行详尽描述,加深学生对数据结构基本概念、原理和方法的理解。插图易懂:在阐述基本概念、基本理论和算法原理时,配有丰富的插图,以直观的方式清晰解释复杂...
  • 877数据结构与算法分析

    千次阅读 2021-05-02 18:45:02
    适合考昆明理工大学的877数据结构与算法分析,如果考昆工的数据结构与算法分析,也可以加入我们的QQ交流群:733804292(初试和复试都是这个) 百度网盘地址: 链接:...
  • 从今天开始,本专栏针对的就是本人在学习数据结构算法之中的心得,持续更新ing。
  • 你好,我是zhenguo1024 程序员节,感谢图灵出版社对Python与算法社区的支持,为大家提供了下面Python与算法图书的最大优惠,大家根据各自情况学习!算法书单1.算法(第4版)...
  • 数据结构与算法分析 Java语言描述(原第3版) 内容简介本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具,讨论数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。...
  • 导语内容提要程玉胜主编的《数据结构与算法C语言版习题精编实验指导》作为《数据结构与算法(C语言版)》教材的配套教学参考,主要内容包括习题解析和实验指导两大部分,其中“例题精解”、“习题实训”是习题解析...
  • 本书基于Python语言介绍了数据结构与算法的基本知识,主要内容包括抽象数据类型和Python面向对象程序设计、线性表、字符串、栈和队列、二叉树和树、集合、排序以及算法的基本知识。本书延续问题求解的思路,从解决...
  • 数据结构与算法( 语言版)Java周 鹏 雷国洪 谢从满 邓小炼 编著湖北科学技术出版社内 容 提 要, 、本书根据抽象数据类型的实现方法Java语言的面向对象特性 抽象 封装了线性、 、 、 、 , 。表 堆栈 队列 二叉树 图...
  • 相关截图:资料简介:本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。本书把算法分析*有效率的Java程序...
  • 资料简介:本书作者强调实践知识和技能胜过理论,在中为你展示了怎样使用数据结构实现有效的算法,并分析和测试了算法的性能。在本书中你将探索Java集合框架(JCF)中重要的类,它们是如何实现的,以及如何执行。...
  • 本书基于作者在北京大学用Python讲授相应课程的工作,用Python作为工作语言讨论数据结构算法的基本问题,其撰写主要有下面几方面考虑:作为以Python为第一门计算机课程之后相应的数据结构课程的教材;结合数据结构...
  • 1 Introduction1.1. What's the Book About?1.2. Mathematics Review1.2.1. Exponents1.2.2. Logarithms1.2.3. Series1.2.4. Modular Arithmetic1.2.5. The P Word1.3. A Brief Introduction to RecursionSu...
  • 数据结构与算法

    2020-12-20 15:41:28
    版 次:1页 数:256字 数:100印刷时间:2013-2-1开 本:16开纸 张:胶版纸印 次:1包 装:平装-胶订商品详情购书须知:小店出售为正版二手,一般八成新左右,多多少少有些笔记(字迹和划线),不缺页少页,不影响...
  • 干脆不看了,自己写。以后就更新在这个专栏里。每一章一个文章吧估计。 如果需要pdf的可以留言 中文版和英文版都有。可以对照着看,英语是编程...最近加班比较多,偶尔更新一下数据结构。 先做题再看答案! 点这里下载
  • 按照我下面整理的思路学习,保证能让你大幅提升数据结构与算法实践能力! 许多人有这样的疑问,《数据结构与算法》理论学习完了,但是做题还是不会;有的同学感觉数据结构与算法不知道怎么学习。那看这篇文章就对了...
  • 其要求是学会分析、研究计算机加工的数据结构的特性,初步掌握算法的时间和空间分析技术,并能够编写出结构清晰、正确易读的算法,达到培养数据抽象能力的目的。学习数据结构可以使读者碰到具体问题时,能够找到一个...
  • 数据结构与算法(C语言版)》——陈越 笔者自述:我是在学了Java后,对面向对象的思想有了点体会后,后头看陈越老师2012年视频的时候有了全新的见解,本篇文章将记录我再次观看学习数据结构后的体会总结,部分用我...
  • 数据通信网络 吴时霖;网络安全基础 斯托林斯;现代密码学 杨波;计算机操作系统汤小丹;C程序设计 荣政。
  • 新世纪高等院校精品教材数据结构与算法分析(悦语言版)摇 摇 摇 摇魏宝刚 陈 越 王申康 编著内容简介, 、 、 、 , 、 。本书描述了各种类型的数据结构 包括线性表 树 堆 图 以及查找 排序等算法 自始至终将数据结构...
  • Data structures and algorithms are an integral part of ...数据结构与算法在软件程序开发中一个完整的章节。Whether we are building a web-based application, a CMS, or a standalone backend system usi...
  • 最近开始学数据结构,打算用python作为语言,看的是米勒和戴维的《Python数据结构与算法分析》。目前大三,希望能一个月速成,奥利给!!注意到课本中的练习题没有参考答案,我自己写了一份放到这上面,更详细,...
  • 数据结构与算法分析

    2021-07-30 01:23:25
    书名数据结构与算法分析作者Mark Allen Weiss原作品Data Structures and Algorithm Analysis出版社人民邮电出版社出版时间2007年定价49 元开本16 开ISBN9787115139238数据结构与算法分析图书简介编...
  • 最近开始学数据结构,打算用python作为语言,看的是米勒和戴维的《Python数据结构与算法分析》。目前大三,希望能一个月速成,奥利给!!注意到课本中的练习题没有参考答案,我自己写了一份放到这上面,更详细的...
  • 数据结构与算法之美(全彩印刷) 数据结构与算法之美(全彩印刷) 本书全面、系统地讲解了常用、常考的数据结构算法,并结合 300多幅图和上百段代码,让内容变得更加通俗易懂。同时,对于每个知识点,本书结合...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 267,474
精华内容 106,989
关键字:

数据结构与算法书

数据结构 订阅
友情链接: SVM.rar