推荐前端工作者的书籍(70%)

《剑指 Offer:名企面试官精讲典型编程题》

数据结构

计算机存储、组织数据的方式,包括数组、链表、栈、二叉树、哈希表等,算法是解决问题的方案,为数据结构服务。算法能对数据结构中的数据进行各种处理,比如查找数组中的数据,或对其进行排序等等。

在 Java 中,数据结构一般可以分为两大类:线性数据结构非线性数据结构

线性数据结构有数组,代表作除了数组本身,还有 ArrayList;还有链表,代表作是 LinkedList;还有栈,遵循后进先出的原则,也就是“Last In First Out”(简称 LIFO)——最后的一个进的,最先出去;还有队列,只允许在队尾添加数据,队首移除数据。队列在 Java 中的出现频率非常高,有各种不同的类来满足不同的场景需求。像优先级队列 PriorityQueue、延时队列 DelayQueue 等等。

非线性数据结构有树,由 n(n>0)个有限节点组成的一个具有层次关系的集合。之所以叫“树”,是因为这种数据结构看起来就像是一个倒挂的树,只不过根在上,叶在下;还有哈希表,也叫散列表,是一种可以通过关键码值(key-value)直接访问的数据结构,它最大的特点就是可以快速实现查找、插入和删除;还有图,由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G 表示一个图,V 是图 G 中顶点的集合,E 是图 G 中边的集合。

《图解 HTTP》
《图解 TCP/IP》
《网络是怎样链接的》
《计算机网络:自顶向下》
《现代操作系统》
《操作系统—精髓与设计原理》
《Linux内核设计与实现》
《鸟哥的 Linux 私房菜》
《SQL 必知必会》
《高性能 MySQL》
《MongoDB权威指南》
《设计模式之禅》
上一篇:70. 爬楼梯


下一篇:移除元素(remove,remove_if...unique...)