数据结构与算法
A一念執著
软件工程专业毕业,八年互联网研发经验,历任全栈工程师、高级工程师、技术经理、项目经理、高级讲师、架构师、技术总监职务!拥有很强的编码和设计能力,扎实的理论基础和丰富实战经验,熟练互联网分布式应用架构和开发,使用编程语言有C/C++、Python、Java、Kotlin、NodeJS,对Java领域多种开源框架与技术栈有深入研究,擅长项目管理、数据库建模、领域驱动设计、微服务架构和大数据
展开
-
第十四章 Hash表
哈希表基础 问题提出: https://leetcode-cn.com/problems/first-unique-character-in-a-string/ 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. 编码实现: class...原创 2019-05-04 13:44:03 · 170 阅读 · 0 评论 -
第二章 线性表-顺序表
提出问题 顺序表,它是基于数组的对线性表的一种实现。 抽象数据类型 很多时间数组并不能满足我们的需求,比如,所以基于数组要进行封装,也就是我们的顺序表 getSize() 代码实现 public class ArrayList { /** 使用数组存储数据 */ private int[] data; /** size记录当前数组data中实际元...原创 2019-04-30 21:37:25 · 124 阅读 · 0 评论 -
第二章 栈
分析 栈是一种操作受限的线性表,因此它的操作是线性表的子集,它只能从一端添加元素,从一端取出元素,这一端称为栈顶,它是一种后进先出的数据结构(First In First Out:FIFO) 应用场景 各各软件中的undo操作(撤销) 程序中的函数调用过程(实质压栈出栈的过程) 编译器中分析括号匹配 ... 栈的基本操作: void push(E) E pop() E pe...原创 2019-05-01 11:29:18 · 137 阅读 · 0 评论 -
第三章 队列
简介: 队列也是和种线性结构,同样也是一种操作受限有线性表,相比数组,队列对应的操作是数组的子集,只能从一端(队尾)添加元素,从另一端(队首)取出元素。它是一种先进先出的数据结构(First In First Out 即 FIFO) 应用场景 基本操作: 数组队列 代码实现: public interface Queue<T> { /** ...原创 2019-05-01 14:10:21 · 138 阅读 · 0 评论