算法大同小异,只是算法案例分Java写跟C语言写而已。初级为了看懂可以看:算法设计与分析(第三版)这本高校教材。这本是Java写的,把上面每个算法研究清楚,
后期为了拓展可以看Java数据结构与算法分析等。淘宝直接搜索就可以知道书的具体信息
到了比较大神级的可以拓展看算法导论、编程之美这些大牛书籍。
② Java 后端有什么书籍推荐嘛
1. 操作系统与网络的书
《Linux内核设计与实现 第3版》
Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了,《深入理解Linux内核》,《深入Linux内核架构》之类厚厚的全是代码,不是专门的内核程序员看这本足够了。
《Linux系统编程 第2版》
继续是Robert Love,比起APUE也是以薄见长,专门针对重要的系统调用讲解。
《性能之巅》
操作系统的性能调优、监控、工具和方法论,看这本就够了,已经足够厚,可能是书单里最厚的一本。
《TCP/IP详解 卷1:协议》
这么多年过去了,TCP的书好像主要还是只有这一本,有点旧了,看了也还是半懂不懂的。后人在2011年写了第二版,机械工业正在翻译。
《WireShark网络分析就这么简单》和 《WireShark网络分析的艺术》 new!
多少人,是看了这两本轻松又实战的书,才真正理解TCP的细节。
PS:《UNIX环境高级编程》和《UNIX网络编程》,APUE和UNP更多作为一本超厚工具书存在。《Unix 编程艺术》,扯的都是闲篇,厚厚的一本其实略读一下就行。 《现代操作系统 第3版》如果看LKD未尽兴,可以回头看看这本基础概念,感觉比那本枯燥的《操作系统概念》(恐龙书)读起来舒服。
《TCP/IP指南》 前面wireshark书作者的推荐,网上有英文免费版,然后有中文版的卷1和卷2,但可能那么多章节那么厚你只关心TCP和HTTP两部分。《HTTP权威指南》,同样是自己从厚厚的目录里挑选感兴趣的章节来看。另外,那些日本韩国人写的《图解XXX》感觉都不喜欢,真的不行。
2. 算法的书
《数据结构与算法分析-Java语言描述 第3版》
够薄,数据结构与算法分析的点基本都涵盖了,而且喜欢它的示例代码是Java写的,新出了第3版。
《算法 第4版》
可与上一本对比着读,厚一些,也多些图,但知识点没上面的全,也是Java的。
PS: 《数学之美》、《编程珠玑》,都是专栏文章,讲得并不系统,可以当兴趣读物来看。
《算法设计与分析基础 第3版》数学系偏爱无比枯燥很多公式的《算法导论》, 计算机系喜欢这本实用主义的典型。
3. 架构设计的书
《软件系统架构:使用视点和视角与利益相关者合作 第2版》
也是教科书,最难得的是,这本老书在十年后的去年升级了第二版,所以感觉鲜活了好多,也许是最鲜活的一本架构书。
《恰如其分的软件架构 – 风险驱动的设计方法》
由于人类与生俱来的惰性,计算机原本科学的、精准的设计方式,有了敏捷的借口之后就很难再维持了。本书就是在这种背景下,提出由风险来决定设计的度。除了开始的风险驱动部分,其余部分就是规规矩矩标标准准的架构师教科书。
《发布!软件的设计与部署 – Release It!: Design and Deploy Proction-Ready Software 》
关于高可靠性的软件,学校里不会教,出来社会却要面对的那部分,英文的原标题更清晰。
《大型网站技术架构:核心原理与案例分析》
淘宝出品,大型互联网站的科普入门书。
《高扩展性网站的50条原则》 new!
同是入门级读物,如果还有个高可用50条原则,那就齐了。
《微服务设计》 new!
那么多微服务的书,还是这本比较不像赚快钱的。
《大数据日知录》
前几年参加各种技术会议,CAP,最终一致性,RWN,向量时钟,Paxos,一致性哈希,Gossip什么的能灌你一耳朵。而现在,你只要在家安安静静的看书就够了。不过这个领域发展太快,又一年过去了,期望它可以持续出新版。
③ 数据结构导论算法总结数组
一维数组又称向量,是由一组相同类型的数据元素组成,并存储在一组连续的存储单元中。
存储结构 以列为主序,以行为主序。c语言采用是以行为主序的存储方法。
矩阵压缩存储 这类矩阵采用多值相同的元素只分配一个存储空间,零元素不存储的策略交矩阵压缩存储。
特殊矩阵 对阵矩阵和三角矩阵
设矩阵a[i][j]在数组M中的位置为k,(i,j)和k的关系:
(i>=j) k=(i+1)i/2+j (i<j) k="(j+1)j/2+i
三角矩阵
上三角矩阵中 第i行除常数外有n-i个元素,第0行有n个元素,而a[i][j]之前已经有i行,前i行的元素总数(2n-i+1)i/2.
在第i行上 a[i][j] 是该行j-i+1个元素 M[k] 和a[i][j]对应关系
(ij) k=n(n+1)/2
下三角矩阵跟对称矩阵类似
(i>=j) k = i(i+1)/2+j (i<j) k="n(n+1)/2
稀疏矩阵
设M行N列的矩阵有个非零元素,当t<<m*n时则称为稀疏矩阵,常用三元组表示法。 p=""> </m*n时则称为稀疏矩阵,常用三元组表示法。>
这节的三角矩阵自今我看没有看到过相应的考题。
④ java数据结构书籍推荐
1. 入门级
针对刚入门的同学,建议不要急着去看那些经典书,像《算法导论》、《算法》这些比较经典、权威的书。虽然书很好,但看起来很费劲,如果看不完,效果会很不好。所以建议先看两本入门级的趣味书:
《大话数据结构》
《算法图解》
大话数据结构
将理论讲的很有趣,不枯燥。作者结合生活中的例子去对每个数据结构和算法进行讲解,让人通俗易懂。
算法图解
这是一本像小说一样有趣的算法入门书,书中有大量的图解,通俗易懂。
看完上面一本或两本入门级的书,你就会对数据结构和算法有个大概认识和学习。但这些入门级的书缺少细节、不够系统。所以想要深入的学习数据结构和算法,光看这两本书肯定是不够的。
2. 不同语言的教科书
国内外很多大学都是将《数据结构和算法分析》作为教科书。这本书非常系统、严谨、全面,难度适中,很适合对数据结构和算法有些了解,并且已经掌握了至少一门语言的同学学习。针对不同的语言,分别有:
《数据结构与算法分析:C语言描述》
《数据结构与算法分析:C++描述》
《数据结构与算法分析:java语言描述》
如果你不会C、C++、java,会Python或者JavaScript,可以看:
《数据结构与算法JavaScript描述》
《数据结构与算法:Python语言描述》
3. 面试书籍
现在很多大厂的面试都会考算法题,这里推荐几本面试算法书籍:
《剑指offer》
《编程珠玑》
《编程之美》
剑指offer
为面试算法量身定做的一本书。几乎包含了所有常见的、经典的面试题,如果能搞懂书里面的内容,一般公司的算法面试都应该没问题。
编程珠玑
这本书豆瓣评分有9分,评分很高。这本书最大的特色是讲了很多海量数据的处理技巧。其他算法书籍很少涉及海量数据。
编程之美
有些作者是微软工程师,算法题目较难,比较适合要面试Google、Facebook这样的公司的人去看。
4. 经典书籍
现在数据结构与算法最经典的书籍就是:
《算法导论》
《算法》
《计算机程序设计艺术》
这三本书非常经典,但都很厚,看起来比较费劲,估计很少有人能全部看完。但如果想更深入地学一遍数据结构和算法,还是建议去看看。
算法导论
章节安排不是循序渐进,里面有各种算法正确性、复杂度的证明、推导,对数学功底有一定要求,看起来有些费劲。
算法
偏重讲算法。内容不够全面,对数据结构方面的知识讲的不多,动态规划这么重要的知识点却没有讲。
计算机程序设计艺术
这本书包括很多卷,相比于其他书籍有更好的深度、广度、系统性和全面性。但如果你对数据结构和算法不是特别感兴趣,没有很好的数学、算法、计算机基础,很难把这本书读完、读懂。
5. 课外阅读
有些算法书籍也比较适合在平时悠闲的时候翻翻看看:
《算法帝国》
《数学之美》
《算法之美》
这些书都列举了大量的列子来解释说明,非常通俗易懂。
⑤ 学习java需要学哪些 看什么书
学习java需要学习的技术知识还是比较多的,包括:java基础语法、面向对象、javase、数据库技术、web前端、java开发框架、企业项目实战等。想要学好这些技术,就需要我们不断的努力才能够完全掌握。至于看不看书这个可以根据大家自己的需求去了解该看一些什么样类型的书籍。
现在市面上的java学习资料很多,如果是想要快速完成学习找工作的可以去网络上找一些相关的视频资料进行学习,或者是去报名java培训班进行学习,看视频学习或者是老师带领学习的话更容易理解,这样学习的效率相对看书来说是比较快一些。
java入门学习的话、大家可以看看下边的这些书。
《Java核心技术(第10版)》
提起Java入门必读,四大名着是少不了的。《Java 核心技术》就是其中之一,分卷一、卷二两册,卷一讲基础,卷二为进阶。全书对于Java语言的核心概念、语法、重要特性和开发方法讲解得非常细致,可以说是一部有关Java的网络全书。
⑥ 请推荐一本基于JAVA语言的数据结构和算法的书,中文版的
英文名:《Data Structures & Algorithms in Java》
中文名:《Java数据结构和算法》
作 者:Robert Lafore
出版社:中国电力出版社
阅读方法:相对与其他的数据结构和算法的书,这本书语言很简洁而且容易读,让你少了一些阅读算法书籍的苦恼,但是也不能指望很轻松的把它读完,毕竟,这也是描述算法的书呀。
不过幸运的是,如果只是为了锻炼工作技能,倒是不必把所有的算法细节都弄的一清二楚,掌握到能够选择针对实际问题而进行数据结构和算法的选择,基本上就能应付90%以上的情况了。
我们的建议是:只要你学的是JAVA,这本书就应该从头到尾的啃一遍,而且是细细的啃,不是象前一本《Java编程思想》那样的略读,不过,读这本书没什么时间限制,尽量读就行了,哪怕你已经工作了,再花业余的时间读下来也不迟。
另外,象算法这种东西,你弄明白一次,一辈子就明白了,不会再变了,所以,哪怕用一周、一个月的时间啃下来一个程序,也是值得的。
如果你着急工作,这本书可以略读,掌握住常用的数据结构和算法的特点(不是实现),就可以了。
如果你还在上学,有大量的时间,或者你想在大型公司(IBM、MicroSoft、Sun等)的笔试中有良好的表现,你就需要一个字一个字的仔细阅读了。
⑦ java数据结构与算法分析
于之前面试android的时候考到了很多关于java的知识,所以这次重温数据结构知识就打算用java来学习,毕竟android是以java为基础的,而且我现在学习的j2ee架构也是以java为基础的。
java中的类就是对现实世界的对象的一种抽象,例如人就是一个类别,人有名字,联系电话,住址等成员属性,人拥有说话,吃饭,走路等成员方法。类就是这样,定义了一种对象,它有什么,会做什么。
继承——子类就是父类的一种特定类别。例如学生就是人的子类,学生属于人,是特定的一类人。所以我们让学生继承人,这样学生可以拥有人的属性和方法,也就是说,学生也有了名字,联系电话,住址等成员属性,拥有说话,吃饭,走路等成员方法。但是学生还有特定的一些方法(读书,上课),或者特定的一些属性(学号,年级),这些可以添加在子类中。
因为每个子类都属于父类,例如每个学生都属于人,所以可以用父类来引用子类的对象:People p = new Student();反过来不行。
java中一个类只能继承一个父类,也就是单继承。
但一个类可以实现多个接口,间接地实现了多继承。接口就是一系列方法的声明,没有实现。于之前面试android的时候考到了很多关于java的知识,所以这次重温数据结构知识就打算用java来学习,毕竟android是以java为基础的,而且我现在学习的j2ee架构也是以java为基础的。
java中的类就是对现实世界的对象的一种抽象,例如人就是一个类别,人有名字,联系电话,住址等成员属性,人拥有说话,吃饭,走路等成员方法。类就是这样,定义了一种对象,它有什么,会做什么。
继承——子类就是父类的一种特定类别。例如学生就是人的子类,学生属于人,是特定的一类人。所以我们让学生继承人,这样学生可以拥有人的属性和方法,也就是说,学生也有了名字,联系电话,住址等成员属性,拥有说话,吃饭,走路等成员方法。但是学生还有特定的一些方法(读书,上课),或者特定的一些属性(学号,年级),这些可以添加在子类中。
因为每个子类都属于父类,例如每个学生都属于人,所以可以用父类来引用子类的对象:People p = new Student();反过来不行。
java中一个类只能继承一个父类,也就是单继承。
但一个类可以实现多个接口,间接地实现了多继承。接口就是一系列方
⑧ 我想学数据结构,java语言的,看什么书比较好
有很多,数据结构和抽象问题求解--Java语言描述》这本个人觉得还可以,里面会一步步教授如何设计一些容器、集合的实现,而且经常举一反三,我暂时将其划分为中级阶段的书
《大话数据结构》这是大话系列的第二本,总的来说比较浅显易懂,可以对数据结构有轻松入门的了解,缺点是版本刚出来,有些错误还待勘正,可作为初级阶段入门书籍。
《数据结构与算法分析--Java语言描述》这个就比较经典了,里面比较偏重介绍引导设计的思想也有代码实现,个人认为是初进中阶段的读物。
《算法导论》这本就不用多介绍了,法的偏理论书籍,想来应该可以算是一本高级进阶的书了。
言而总之,等到代码累积量到一定程度的时候,自然而然就会去想加强数据结构和算法相关知识了。读书这种东西,一千个读者有一千个哈姆雷特,只希望这里能提供一个参考给楼主。
⑨ 《数据结构与算法分析》和《算法导论》这两本书哪个好
《数据结构与算法分析》 C++ 版 ,《算法导论》
页数: 435 , 754
适合: 基础薄弱的, 基础较好的
没学过高等数学,高中数学总学过吧,那就没问题。
两本书都很好,可以同时看,然后再琢磨琢磨哪本更适合自己 。
希望对你有所帮助。