精华内容
下载资源
问答
  • 当然从本书的定位来说是完全可以理解的,本书是一本“入门”、“便于自学”的数据结构,从这个角度来说,说是国内第一本讲解清楚,起来非常轻松的数据结构入门书一点都不为过。作者也在前言里说过了,本书的定位...

    这里我推荐7本关于java数据结构的书籍,希望对您有多帮助

    《大话设计模式》

    豆瓣对这本书评分很高,出于对《大话设计模式》的好感,读完这本书,总体的感觉是难度低于严老师的书。当然从本书的定位来说是完全可以理解的,本书是一本“入门”、“便于自学”的数据结构书,从这个角度来说,说是国内第一本讲解清楚,看起来非常轻松的数据结构入门书一点都不为过。作者也在前言里说过了,本书的定位就是“入门”。对于自学数据结构的同学们来说,如果觉得严蔚敏老师的数据结构过于晦涩难懂,不如先读读这本书。

    以个人的眼光来看,读这本书,实在是轻松有趣,初次拿到便卧在沙发上一口气读下近百页。较之读严老的书,实在是很有成就感。在代码讲解方面,很注重代码细节,提供的代码基本可以直接运行,而且对疑难之处基本都有解释。读完大话,就为再去进一步学习严老师的数据结构以及做各种习题集打下了一个很好的基础和开端

    fba8cdac15b1e6d3afca6cac13fb3bb7.png
    大话数据结构

    《算法导论》(原书第3版)/计算机科学丛书[Introduction to Algorithms, third edition]

    在有关算法的书中,有一些叙述非常严谨,但不够全面;另一些涉及了大量的题材,但又缺乏严谨性。本书将严谨性和全面性融为一体,深入讨论各类算法,并着力使这些算法的设计和分析能为各个层次的读者接受。全书各章自成体系,可以作为独立的学习单元;算法以英语和伪代码的形式描述,具备初步程序设计经验的人就能看懂;说明和解释力求浅显易懂,不失深度和数学严谨性。
    全书选材经典、内容丰富、结构合理、逻辑清晰,对本科生的数据结构课程和研究生的算法课程都是非常实用的教材,在IT专业人员的职业生涯中,本书也是一本案头必备的参考书或工程实践手册。

    936a7f6a3bf2f8574c201f4ebec5d34a.png

    《数据结构与算法分析》

    本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。 随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。本书把算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。

    60640ce5e187682092d8e0ec6b38d6a5.png

    数据结构与算法JavaScript描述

    通过本书的学习,读者将能自如地选择最合适的数据结构与算法,并在JavaScript开发中懂得权衡使用。此外,本书也概述了与数据结构与算法相关的JavaScript特性。
    本书主要内容如下。
    数组和列表:最常用的数据结构。
    栈和队列:与列表类似但更复杂的数据结构。
    链表:如何通过它们克服数组的不足。
    字典:将数据以键-值对的形式存储。
    散列:适用于快速查找和检索。
    集合:适用于存储只出现一次的元素。
    二叉树:以层级的形式存储数据。
    图和图算法:网络建模的理想选择。
    算法:包括排序或搜索数据的算法。
    高级算法:动态规划和贪心算法。

    4ee8f0f8f1a520032d179336d44d78e4.png

    《Java数据结构和算法》

    《Java数据结构和算法》(第2版)以一种易懂的方式教授如何安排和操纵数据的问题,其中不乏一些难题:了解这些知识以期使计算机的应用获得最好的表现。不管使用何种语言或平台,掌握了数据结构和算法将改进程序的质量和性能。 《Java数据结构和算法》(第2版)提供了一套独创的可视讨论专题用以阐明主要的论题:它使用Java语言说明重要的概念,而避免了C/C++语言的复杂性,以便集中精力论述数据结构和算法。经验丰富的作者RorbertLafore先生提供了许多简单明了的例子,避免了对于这类例题常见的冗长、繁锁的数学证明。在第二版中,他利用Java语言最新特性,修改并扩充了他的例子。在每一章后都有问题和练习,使读者有机会测试自己的理解程度。

    e8901c5ba4d407e660d4307b083deb50.png

    《学习JavaScript数据结构与算法》(第3版)

    本书首先介绍了JavaScript语言的基础知识(包括ECMAScript和TypeScript),其次讨论了数组、栈、队列、双端队列和链表等重要的数据结构,随后分析了集合、字典和散列表的工作原理,接下来阐述了递归的原理、什么是树以及二叉堆和堆排序,然后介绍了图、DFS和BFS算法、各种排序(冒泡排序、选择排序、插入排序、归并排序、快速排序、计数排序、桶排序和基数排序)和搜索(顺序搜索、二分搜索和内插搜索)算法以及随机算法,接着介绍了分而治之、动态规划、贪心算法和回溯算法等高级算法以及函数式编程,最后还介绍了如何计算算法的复杂度。

    7bedbc52722f5eaa5f2ea5e04abd9889.png

    数据结构与问题求解Java语言描述

    本书从讲解什么是数据结构开始,延伸至高级数据结构和算法分析,强调数据结构和问题求解技术。本书的目的是从抽象思维和问题求解的观点提供对数据结构的实用介绍,试图包含有关数据结构、算法分析及其Java实现的所有重要的细节。作者采用了独特的方法将数据结构分成说明和实现两部分,并充分利用了已有的数据结构库(Java集合类API)。本书分为四个部分:第一部分讨论适合大多数应用的集合类API的一个子集,并覆盖基本的算法分析技术、递归和排序算法;第二部分包含了一组集合类API的应用实例;第三部分讨论数据结构的实现;第四部分描述了高级的数据结构,如伸展树、偶堆和不相交集数据结构。
    本书适合作为本科生数据结构课程或研究生算法分析课程的教材。教师可以灵活地选择本书的内容,选择最适合对应课程的内容授课。

    da8b6ac8647304684d19d432ae63ffd4.png

    就推荐这7本书,有问题可以留言讨论
    觉得不过的点赞

    展开全文
  • java入门到实践

    2019-03-14 15:18:40
    Java入门到实践如何学习java基础JavaEE入门学习项目问题书籍推荐Java学习目标(java具体要学什么java语言基本使用能力多线程并发数据库javaEElinux系统设计算法分布式大佬项目分享 如何学习java基础 建议初学者...

    如何学习java基础

    建议初学者看视频学习,不推荐看书。入门视频选择非常重要,最好是通俗易懂、深入浅出的教学视频。如果入门视频选的不好,不知所云,容易产生厌倦心理:“从入门到放弃”。关于java书籍,前期的学习个人不推荐直接看书:书本较为枯燥、不直观、容易分心、可能坚持不下来。(个人推荐b站,黑马教育

    JavaEE入门学习

    上面的基础部分的学习主要是为后阶段打好基础。javaEE是java开发学习路上举足轻重的一员,那么javaEE该如何学习呢?框架那么多,该学哪些呢?从哪个框架开始学习呢?从博主以及身边同学的面试来看,javaEE主要需要掌握以下几个部分:servlet、jsp、hibernate、mybatis、springMvc、spring,有余力的同学可以学习spring boot,它是轻量级的spring,互联网公司使用较多,学完spring之后,学习spring boot就很简单了。框架学习顺序,在整理的资料中有写。

    servlet和jsp属于基础,高层框架都是建立在servlet和jsp的基础之上,博主和身边同学建议学习。虽然现在项目中很少直接使用jsp和servlet,但是框架都是在这基础之上进行了封装,学习servlet和jsp可以帮助你更好的理解框架,而不是只会配置,调API,不知原理。另外,servlet在面试中问的很多,jsp面试问的少,但是后面做项目的时候你得会写简单的页面啊,否则项目都搭不起来,会产生严重挫败感。

    项目问题

    1. 怎么选项目

    首先最好是使用SSM框架的项目,SSH用的不太多,不推荐;
    分布式的项目最好是,不是也没关系,大部分网络上的项目都不是分布式的;
    最好不要找商城,因为商城已经烂大街 了。
    数据库最好mysql,另外面试时数据库表设计也会是常问问题,大家学习的时候注意一下。

    1. 怎么做项目

    很多同学问做项目怎么才能避免只是跟着视频敲了一遍代码,好像什么都没学到的感觉?

    javaEE的挑战在哪里呢?在没有分布式、高并发场景下,项目显得很“low”(大概率就是写简单的页面,控制器查数据库准备数据、页面从域对象里面取出数据填充、返回给浏览器),但初学者应该如何学习呢?
    要回答这一点,首先明白面试官问项目问的是什么?

    1. 面试项目问题
      项目部分大多会延升到分布式高并发场合。因为用户一多、数据量一多,问题就来了,简单的业务在高并发,大数据的场景下瞬间就会产生很多问题。比如,新浪微博的分层评论/点赞如何实现、项目中的数据库如何设计、比如说你的分布式中的某一台机器损坏了,怎么解决服务不可用问题;再比如说淘宝每天订单量很多,数据库如何设计:分库分表策略;比如说文件上传时上传期间断网了,那么你如何实现下次在上次的基础之上继续上传,而不是全部重新上传?比如说,360的开机打败百分之多少用户,这又怎么实现(360用户肯定很多,使用尽量小的代价实现)。
      经典问题:"你在做这个项目过程中遇到哪些问题,你是怎么解决的?”、“项目的亮点在哪里?"

    2. 面试不像考试,“亮点”不是说非得独一无二,你可以转到你遇到了哪些问题,你是怎么解决的,或者还没解决的问题可以问问面试官的意见,这样在下次面试中,上一位面试官的解决方案就是你的了。

    3. 项目无亮点,没难度?没有问题,创造问题,java会有OOM,并且你知道OOM怎么排查,你完全可以把OOM这个问题的排查过程认为这就是你遇到的问题;再比如说,JDK7以及之前的HashMap在并发情况下会发生死循环,如果你知道这个原理,也知道怎么解决,这也可以成为你的debug的经历;再比如说,linux自启动问题,一个项目部署到linux上,肯定要配置自启动,如果你知道怎么做,这又可以是一个问题。

    4. 项目业务紧密相连的问题,如果其中某个业务在处理过程中失败了,你应该怎么处理?
      在web项目中一般用户的行为都会交由线程池处理,如果在处理某个业务的过程中发生了异常,导致这个任务没有处理完,这时你要怎么处理?这里这样举例的意思是:大家要随机应变,要学会创造问题。只要你知道问题解决的方案,面试官怎么可能知道你在做项目的时候究竟有没有遇到过这个问题呢?问题来源于想象。

    5. 小结
      注意积累项目问题,在每一场面试中,面试官会不断提出问题,面试完后,下来找到这些问题的答案或者和同学讨论。这样每次面试下来你的问题库里面又多了几个高质量的问题。一定积累之后,面试会很顺利~。不要担心面试官对你的项目提不出任何问题,如果是这样,这大概率是面试官的能力问题。总之,项目面试是一个积累过程,前期多投小公司的实习和秋招,为后期“升级打怪”积累经验。项目面试无法一蹴而就,是一个积累的过程。

    书籍推荐

    第二阶段主要是面试书籍,你可能会问视频看完了,为什么还要看书啊,为什么不直接看书呢?对初学者来说,看视频比较直观,能够直接感受到我学这个到底有什么用,能给初学者一个方向。而且,技术类书籍一般都很厚很厚,如果直接看书,可能会导致“从入门到放弃”…所以呢,推荐先看视频。另一个重要的原因是,求职面试本质上还是考试,有考试的地方就有应试技巧,而一些在求职者口中口耳相传的书,就是应试技巧。说来读者不要不信,很多面试官在基础考察的时候都是直接是根据书来问,因为这些面试官也是从学生时代过来的,而他们可能和你看的是同一本书。也就是如果你和面试官的知识体系结构一样的话,面试官问出来的问题,你自然可以回答得很好。

    1.Java基础

    java核心卷I:java核心卷II可以买也可以不买。java核心卷I只看前9章,其他不用看。身边同学都认为这本书不适合初学者,但是如果你之前看过java学习视频,那么这本书很适合你。这本书主要让你对java知识有个系统的学习,建立起自己的知识体系结构。系统的体系结构在求职面试显得尤为主要,不仅仅是指java基础。所以大家一定要学会总结,零散的知识碎片对面试十分不利。

    2.多线程、并发

    实战java高并发程序设计和java并发编程的艺术:java高并发程序设计,这本书主要是为了看第二本书做铺垫,直接看第二本书可能会很吃力。实战java高并发程序设计主要看:前4章、5.1、5.2、5.3、5.10、5.11和第6章。第二本书“java并发编程的艺术”除了6.4和10.4相对不是重点,其余每一章都是考点、每一章都是,记住这句话。6.4和10.4建议看一下,不是重点,但是建议看。大家记住并发编程的艺术是重点,基本上上面提到的那些章都是重点。
    另外,大家自行找博客补充下协程的概念,公众号后面也会有讲解。近期各大公司都有研究使用协程,面试大概率会问到。协程其实就是单线程里面实现多任务调度,因为是单线程,所以不用锁,自然没有锁的竞争那些问题,效率更高。大家可以去了解下,大概率会被问到。并发编程的艺术可能看第一遍可能迷迷糊糊,都不知道到底讲了什么,这本书断断续续可能要看三遍或者以上,所以一遍看不懂不要灰心,因为大家都这样。

    3.Java虚拟机

    深入理解Java虚拟机: 只要看:第2章、第3章、第4章、第5章简单看一看、第六章看6.1和6.2、第7章以及第12和13章。12和13属于并发里面的补充。上面这些都是重点,面试的典型问题,包括之前讲过的GC,内存模型、调优、常用命令、类加载、OOM和stackOverflow等。还有就是对象的生命周期一些,这本书大多是记忆类的,大家多多总结,多翻几遍~

    4.数据结构

    大话数据结构: 这本书通俗易懂,第5章可以不看,其余建议看。第五章,怎么说呢,我和周围同学面试都没被问到过KMP算法,笔试中可能会遇到,但是KMP算法可以解决的问题DP大概率也可以解决,而且KMP算法不简单,对自己要求高的同学可以看看。第七章图,图在面试中基本不会问,但是在笔试中大概率会碰到,所以还得看。但是放心面试中几乎很少问到图的。

    5.设计模式

    Head First设计模式: 建议看前13章,第13章实际是讲MVC模式,这个也要掌握,附录中的模式不想看就别看了。这本书“废话”比较多,图文也很详细,每一种设计模式都有具体的案例,可以帮助你更好的理解设计模式。

    学习完一种设计模式后,最好能够找到JDK或者Spring或其他框架源码中的应用,这有助于理解,加深记忆;更重要的是,如果面试官在问你设计模式的时候,你能详细说出几种常用的设计模式,并且给出在JDK或spring或其他框架源码中的应用,以及该模式解决了什么问题之类的,这肯定是加分项,面试官会认为你知识体系结构很完善,对你的印象肯定更加深刻。

    常问的设计模式问题有:单例、适配器、装饰者、代理、组合、策略、模板方法、观察者、工厂方法。这几种是重点,其他的模式依旧建议看看,即前13章都建议看。百度面试曾经问过一个问题:装饰者模式、静态代理和动态代理模式的异同;为什么spring的AOP不使用装饰者模式实现等问题。再次强调一点,上面提到的每一种模式必须能够举出一两种应用场景,即JDK、Spring或者其他框架源码的那个地方应用了这些设计模式,并且要能手写出代码实现。百度面试就是这么问的,一定要能举出案例,也问过手写观察者模式;也有很多公司要求在草稿纸上画出各个设计模式的UML图,这个也希望大家掌握,希望引起大家重视。

    6.分布式

    从Paxos到Zookeeper分布式一致性原理与实践 :第1章、第2章,第4章,第五章,第6章,7.1节、7.4节、7.5节,7.6节、7.7节、7.9节,8,4节,8,5节。书名比较长,这本书很重要,因为现在的网站都是分布式,高可用(一台机器坏了会自动由另外一台机器对外提供服务)、分布式锁、分布式队列等等一些相关功能都可以使用zookeeper实现。另外,zookeeper在很多框架中的很多:HBASE、Hadoop、kafka、YARN等等(后面这些框架只是举例)。

    在前一篇文章中曾提到过,在项目相关面试问题中,面试官有很大概率会把你的项目往分布式上面延展,而zookeeper可以解决大部分的分布式问题,互联网公司用的也很多。

    zookeeper重点掌握:两阶段、三阶段提交、Paxos算法、zookeeper的应用场景(非常非常主要,第六章)、leader选举、watcher机制(最好读一下watcher机制的源码,公众号后面也会有讲解)。第五章是告诉你怎么使用zookeeper的,zookeeper有哪些用途,虽然面试不会直接考,但是必须得看,否则你学了zookeeper,你还不知道zookeeper是怎么使用的…这里的意思是,第五章的那些API你不要去记也没必要,你只要知道它有这么个用途,能决绝什么问题就可以了,具体的API说个名字或者名字说不出来也没关系,面试官一般不会纠结与API的名字,更想提到你对某个知识点自己的理解。第五章那些知识点可能是你项目面试问题的答案,因为zookeeper应用场景很多,但是往大了说就几个大类场景,看数一定要学会自己总结,自己总结的印象更深刻。第五章大概看看浏览就好,最好跟着打一个zookeeper集群,自己亲手操作一下,也不难。

    7.数据库

    高性能MySQL:数据库只需要学:MySQL、Redis,对大数据有了解的建议看看HBASE(使用了zookeeper),其他数据库不要学。在上一篇文章中给大家总结了资料,里面有MySQL和Redis的视频,建议看视频学习,视频之后,MySQL推荐“高性能MySQL”,注意这本书好像并不适合初学者,建议先看MySQL视频。Redis看完视频后建议看看博客,Redis主要问:常用数据结构、集群、哨兵、用在哪些场合、解决了什么问题、持久化AOF和RDB。最后,简单的SQL一定要会,面试也有让手写简单的SQL,就SQL立案表层查询那些。

    8.linux

    鸟哥的linux私房菜(基础学习篇):这本书口碑很好,适合初学者,通俗易懂。linux主要考察常用命令、文件权限、虚拟内存、软硬链接等等。在讲解这本书应该看哪几章之前,强烈建议读者自己安装一个linux虚拟机,教程的话找度娘:“ubuntu 虚拟机安装”或“centos虚拟机安装”,搜索上面那两个关键词即可。初学者推荐centos,因为推荐的那本书上是按照centos系统讲解的,所以安装centos可以给初学者减少一些不必要的麻烦。安装linux虚拟机的时候可能会看到教程讲解配置虚拟机内存分区之类的,其实默认值就足够了,至少你不应该花费很多时间在纠结分区数量和分区大小上。网络上虚拟机安装的教程网络很多,也很简单。安装之后,再看书或者先看看书的第0、1、2章。至于第三章分区可以看看,但是安装虚拟机的时候使用默认值分区配置就好~,初学者不必在上面纠结。

    书的话主要看:第0,1,2,3章随便翻一翻、第5章是最基本使用命令、第6章权限是考察重点、第7章、第8章(ext文件系统了解即可,关注下磁盘常用命令)、第9章、第10和11章建议看、20.1小节可以看看,其他没提到的部分可以不看~

    另外看书最好要结合linux虚拟机,看书的时候,自己跟着一起敲一遍命令,这样会更加深刻,也能够很直观看到命令的作用。其实linux系统和windows系统一样,大家不要畏惧,用多了就好了啊,刚刚开始肯定不太熟练,不用太担心,主要是要多用,多动手操作。

    9.计算机网络

    计算机网络(谢希仁)

    计算机网络最常见问题:OSI七层模型,每层干嘛的或者五层协议栈每层作用、TCP和UDP的区别、拥塞控制和流量控制、TCP三次握手和四次挥手等。书的话,博主看的是第六版,所以就按照这个版本来推荐看哪些章节:前六章建议都看。第一章1.7是重点,其他的作为了解,预备知识,随便翻一翻,有个了解就好。第二章:2.1、2.2、2.4建议看,2.6作为补充就好。第三章:看前三节、后面两节可以不看。第四章:看前五小节和4.7小节。整个第五章都需要看,重点。 第六章:从6.1开始,看完6.4.3以及6.6,第六章主要是应用层协议,协议比较多,建议都翻一下,了解协议大致的用途功能就好了。

    Java学习目标(java具体要学什么)

    做一件事情,首先要明白你的目标,即你要做成做好这件事情,你最后需要做到什么地步,不仅仅是求职,因为目标可以给你方向和动力。下面列举出的考点都是面试重点

    java语言基本使用能力

    面向对象特性;类、接口、抽象类区别;重载、重写区别;JDK8新特性、JDK容器源码:HashMap、ArrayList、LinkedList、AQS、ConcurrentHashMap等;JDK concurrent包下的源码;java虚拟机:内存模型、gc、类加载、异常的分类和排查;设计模式(最好找到JDK或者spring等框架中中对应场景);排序算法;Object中的方法;如何排查OOM;如何判断死循环;违反双亲委派模型的案例;java反射和CGLIB原理以及异同;阻塞队列的源码(要求手写实现,重点);创建对象的四种方式等等

    多线程并发

    synchronize特性、volatile特性、JMM中的原子操作(read、load、use;assign、store、write)、countDownLatch和CyclicBarrier异同点;线程池参数、类型;如何让多个线程有序运行;生产者消费者等;创建线程的三种方式;进程和线程之间的区别;进程见间通信的方式;会写简单的sock通信代码;IO 操作;如何让多个线程顺序执行等等。

    数据库

    mysql索引底层实现:B+树;索引失效场景/原因;SQL优化;SQL注入等相关web安全问题;MySQL主从复制;Redis常用数据结构(能看一两数据结构源码最好);Redis集群;Redis分布式锁;持久化AOF、RDB;Redis应用场景、解决了什么问题、秒杀系统;基本SQL语句、ACID、隔离级别、MVCC、行锁和表锁等。

    javaEE

    get、post的区别;request头;response头;这块问题大多和你的项目有关,session和cookie、SSM框架,spring源码(能看多少是多少,一定会问)。spring解决了哪些问题、spring的IOC,AOP,spring事务、spring bean。springMVC生命周期,一个完整的http请求包括哪些流程、https访问流程:加密解密(对称加密和非对称加密);servlet生命周期。项目如何考虑分布式问题。

    linux

    虚拟内存、查看某个进程使用的内存,cpu、查找某个文件、查找某个大文件中的关键字所在位置;查看磁盘使用;用户空间和内核空间的区别;linux常用命令;chmod,ps,top,grep,linux软硬链接、权限等等。另外,有的公司也会问:select、poll和epoll异同。

    系统设计

    OSI七层模型、经典五层模型、tcp三次握手四次挥手、流量控制和拥塞控制、tcp和udp区别、如何解决很多个tcp连接处在time_waiting状态等等。一定要能画出三次握手和四次挥手的状态图,以及记住每个状态的名字。

    算法

    牛客网,LeetCode。大部分面试的算法都是这两个地方的原题,一定要刷题,一定要!!!

    分布式

    zookeeper及其应用场景,zookeeper可以解决绝大部分面试中的分布式问题:高可用、分布式读写锁、分布式共享锁、分布式队列等等。所以感觉学习zookeeper性价比很高。

    大佬项目分享

    Java各类项目,大数据项目,Android项目(一个知乎大佬的项目)

    展开全文
  • 想要学习java的各种数据结构,一本良好的书籍会让你受益匪浅,本文就来推荐一些学习java数据结构适合。一、入门推荐因为是入门,所以我们先不要求实现,阅读一些通过图片,打比方等通俗易懂的方法讲述算法的...

    想要学习java的各种数据结构,一本良好的书籍会让你受益匪浅,本文就来推荐一些学习java数据结构适合看的书。

    一、入门推荐

    因为是入门,所以我们先不要求实现,阅读一些通过图片,打比方等通俗易懂的方法讲述算法的书籍让你能达到懂一些基础算法,线性表,堆栈,队列,树,图,DP算法,背包问题等。

    1)、《啊哈!算法 啊哈磊》

    2)、《算法图解》

    3)、《妙趣横生的算法(C语言实现 第2版)》

    4)、《趣学算法》

    5)、《大话数据结构》

    6)、《算法神探》

    7)、《算法帝国》

    8)、《算法设计与分析基础第3版》

    二、进阶推荐

    经历过了各种基本入门算法书的调教领悟,现在你已经对算法有了一些基础的理解了,所以可以进阶了,现在推荐你阅读《算法导论》《编程原本》,这是数据结构里的经典款。

    1)、《算法导论英文版第三版》or《算法导论中文版》

    2)、《算法 (第4版)》

    3)、《数据结构与算法 Java版》

    4)、《Algorithms算法概论中文版》

    5)、《算法心得-高效算法的奥秘(原书第2版)》

    6)、《计算机程序设计艺术 第1卷:基本算法(第三版)》

    7)、《计算机程序设计艺术 第2卷:半数值算法(第三版)》

    8)、《计算机程序设计艺术 第3卷:排序与查找(第二版)》

    9)、《数据结构(C语言版)-严蔚敏 》

    10)、《计算机算法设计与分析 第4版 (王晓东) 课后答案[1-9章]》

    11)、《计算机算法设计与分析(王晓东)(第三版)》

    12)、《计算机算法设计与分析(王晓东)(第二版)》

    13)、《计算机算法设计与分析(第三版)课后习题答案详解》

    14)、《Java数据结构和算法(第二版)》

    15)、《编程原本》

    16)、《算法设计手册第2版 》

    17)、《JavaScrit数据结构与算法(第2版)》

    18)、《数据结构与算法分析:C语言描述(原书第2版)》

    19)、《数据结构与算法Python语言》

    当然,这么多书不是要求你必须全部看完,能看完理解完最好,但贪多嚼不烂的道理要懂。

    四、工作常见绝对干货

    下面推荐的是一些在面试及工作中常常要用到的算法讲解,以及一些前辈工程师的心血总结,建议面试前经常翻看,提升思维广度,记得外加一些实操。

    1)、《算法与数据结构-实用算法基础教程》

    2)、《编程之法 面试和算法心得》

    3)、《程序员代码面试指南 IT名企算法与数据结构题目最优解 》

    4)、《算法Ⅰ-Ⅳ(C++ 实现)–基础、数据结构、排序和搜索(第三版)》

    5)、《程序员实用算法》

    6)、《编程珠玑(第2版)》

    7)、《编程之美》

    8)、《程序调试思想与实践》

    9)、《[改变未来的九大算法》

    10)、《排序算法汇总》

    以上就是今天的全部内容,有的小伙伴们会问了,java前景怎么样呢如今?Java如今可谓是急缺人才,想要学习的小伙伴们可要抓紧了。

    推荐阅读:

    展开全文
  • JAVA - 如何入门?

    2019-04-12 14:23:31
    看书 我相信,各位完这些书籍,大致了解什么JAVA,什么是数据库,什么是前端! 数据结构与算法 Java编程思想 疯狂Java讲义 Head First Servle&JSP MySQL入门 菜鸟教程 在这个网站你可以学习到JAVA ...

    最近有小伙伴跟我说想学习JAVA,但是又不想去培训,想自己独立学习,苦于不知学习步骤!
    我总结一下我大学学习的步骤:

    1. 看书 我相信,各位看完这些书籍,大致了解什么是JAVA,什么是数据库,什么是前端!

      1. 数据结构与算法
      2. Java编程思想
      3. 疯狂Java讲义
      4. Head First Servle&JSP
      5. MySQL入门
    2. 菜鸟教程 在这个网站你可以学习到JAVA ,CSS,JS, 数据库等知识

      1. http://www.runoob.com/html/html-basic.html
    3. 框架, 学习框架,并不是看文档就可以学会的,需要去百度搜索视频进行模仿,学习!

    4. MyBatis (必学)

    5. Spring (必学)

    6. SpringBoot (必学)

    7. dubbo (必学)

    8. JPA (可选)

    9. Spring Cloud (可选)

    10. Hibernate (可选)

    11. 前端

      1. 做为一个后台,必须要懂一点前端的知识
      2. layUI ,Vue,jquery 会渲染接口数据,入门即可,后端的技术, 很深!
    12. 工具与控制版本

      1. IDEA 编码工具

      2. GIT 控制版本

      3. SVN 控制版本

      4. Xftp LINUX

      5. Xshell LINUX

    展开全文
  • 算法基础入门:90分钟搞定动态规划

    千人学习 2019-12-29 10:11:22
    著有编程畅销《你也能得懂的Python算法书》。 本课程实用性极强,边学边练!零基础也能轻松入门~ 在这门课中,我们保证你能收获到这些 1)透彻理解:到底什么是动态规划 2)细致讲解:挖矿工问题 3)细致讲解...
  • java入门到进阶书单

    2018-03-12 15:24:32
    入门 1-2年(初级)《Head First Java》 主要讲设计模式,这个是设计思想方面的。我之所以觉得它应该最早学,就是觉得这个对今后你jdk/tomcat源码、第三方项目源码、以及一些大数据中间源码有所帮助。另外也有...
  • 这是一本充满智慧和趣味的算法入门书。没有枯燥的描述,没有难懂的公式,一切以实际应用为出发点,通过幽默的语言配以可爱的插图来讲解算法。你更像是在阅读一个个轻松的小故事或是在玩一把趣味解谜游戏,在轻松愉悦...
  • 学习计算机专业有很久了,之前一直看看开源的框架,刷刷Leetcode,想着还是踏踏实实一些基础的,就选择了《算法竞赛入门经典》,因为不是要去搞什么ACM(感觉自己智商不够用!),所以就用最熟悉的Java去实现代码...
  • 1 我的数据分析学习顺序我的数据分析学习顺序2 书籍介绍2.1 基础《Python编程:从入门到实践》易读,最常用的入门语法,有其他编程基础的,比《Python编程快速上手》更能快速上手,后者更适合没编程经验的入门。...
  • 算法这部分内容非常重要,如果你不知道如何学习算法的话,可以下我写的: 算法学习书籍+资源推荐 。 如何刷Leetcode? 常见算法问题总结: 几道常见的字符串算法题总结 几道常见的链表算法题总结 剑指 offer ...
  • 算法这部分内容非常重要,如果你不知道如何学习算法的话,可以下我写的: 算法学习书籍+资源推荐 。 如何刷Leetcode? 常见算法问题总结: 几道常见的字符串算法题总结 几道常见的链表算法题总结 剑指 offer ...
  • 如果没有c或者c++的基础,建议开始需要先把java的基础打好,基础是指什么?基础的语法,能用!至于源码,不建议在刚刚开始学就源码,绝对劝退!!! 推荐几本可以入门的书籍: Head First Java 简单易懂,可以教...
  • 大家好,我是多选参数的程序锅,一个正在捣鼓操作系统、学数据结构和算法以及 Java 的失业人员。 这是我肝了 3 天,参考了两本书和一些博客之后,整理的一份关于 Docker 的高级入门。为啥说是高级入门呢?因为它比...
  • COLA :根据我的了解来,很多公司的项目都是基于 COLA 进行开发的,相比于其他快速开发脚手架,COLA 并不提供什么已经开发好的功能,它提供的主要是一个干净的架构,然后你可以在此基础上进行开发。通过一行命令就...
  • [Android算法初级学习]简单二分法查找 ...这里我选择的是《算法图解》和《大话数据结构》这两本入门基础级别的(建议优先看算法图解,因为前者属于启蒙,后面的已经初具规模),可以帮你了解到大概的算法
  • 入门教程,会用API。 2.过相关的技术书籍,了解一部分原理。 3.能够根据了解的原理对实际的问题进行分析,解决问题,这样才能对技术有深入的理解,在工作中遇到复杂问题时,才能解决。 所以我发起了这个项目...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
  • ①【Java】学习之路吐血整理技术入门到进阶最全50+本(珍藏版) ②【算法数据结构+acm】从入门到进阶吐血整理书单50+本(珍藏版) ③【数据库】从入门到进阶必读18本技术书籍网盘吐血整理网盘(珍藏版) ④【Web前端...
  • Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传软件,但是Java版的确实不多,因此这个Java...
  • java面试题以及技巧

    热门讨论 2011-11-25 20:45:30
    │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科面试题.pdf │ 速算.txt │ 面试题URL.txt │ ├─Javascript │ ...
  • java面试题及技巧4

    2011-11-25 20:42:35
    │ 基本算法.doc │ 孙卫琴精通struts.基于MVC的.java.web设计与开发.pdf │ 学习Struts提供的和Form相关标签.txt │ 日企编码规范.doc │ 电信盈科面试题.pdf │ 速算.txt │ 面试题URL.txt │ ├─Javascript │ ...
  • 必须认真学会,否则代码就是天书 (2) 编解码方向:精通h.264,h.265(hevc),  包括理论和各个开源库(ffmpeg,libx264,libx265,...)。 (3) 直播方向:  精通各种直播协议(rtsp,rtmp,hls,http-flv,......
  • 网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...
  • Docker入门什么可以这么简单? 聊聊Docker镜像 :paperclip:消息队列 什么是ZooKeeper? 什么是消息队列? 全网最通俗易懂的Kafka入门 :radio:搜索引擎 「扫盲」 Elasticsearch Lucene入门 Elasticsearch就是...
  • 1.3.1 什么是树形结构 16 1.3.2 邻接模型 19 1.3.3 物化路径模型 26 1.3.4 嵌套集合模型 28 1.4 小结 34 第2章 Oracle体系架构 35 2.1 Oracle的网络配置 35 2.1.1 Oracle的网络架构 36 2.1.2 ...
  • 我的书单

    2015-02-27 21:51:00
    很多人推荐算法导论,但我都拿起 2 次又放下 2 次了,根本不下去, 不是我水平太菜,就是算法导论根本不适合算法入门。 1 大话设计模式 这是我的 OO 和设计模式入门书籍, 确实非常好。大学时学过 C++ 和 一点...
  • 如果想学习编程有没有什么资料或者图书推荐的? 今天给大家整理了一个大礼包,一次性送给大家,这些大部分都是大牛推荐的!过的很不错的电子书,可以算是很高...Java 数据结构和算法 (学习数据结构和算法经典书籍...
  • 国外大佬写的,国内翻译的经典之作,虽然是经典但是不建议刚入门算法的同学,因为了这本书你可能要放弃算法了,比较难懂。建议有了一定基础再入手这边。 极客时间专栏 专栏质量都不错,但是基本都是收费的...
  • 由此花在敲代码上的时间并不多,但仔细研究了网上关于计算器的算法,并完了一套java入门讲解视频(很薄,讲的很少,满肚子疑问) 视频上老师每次运行都是直接在控制台输入javac编译,在输入好像是java来运行...

空空如也

空空如也

1 2 3
收藏数 49
精华内容 19
关键字:

java算法入门看什么书

java 订阅