摘要: 第 9 章 哈希表 1、Google 上机题 看一个实际需求, google 公司的一个上机题: 有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id, 性别, 年龄, 住址…),当输入该员工的 id 时,要求查找到该员工的所有信息 要求:不使用数据库,尽量节省内存,速度越快越好 ⇒ 哈希 阅读全文
posted @ 2021-11-24 23:04 李小龙6881644 阅读(30) 评论(0) 推荐(0)
摘要: 第 8 章 查找算法 1、查找算法介绍 顺序(线性)查找 二分查找/折半查找 插值查找 斐波那契查找 2、线性查找 编写线性查找算法代码 public class SeqSearch { public static void main(String[] args) { int[] arr = { 1 阅读全文
posted @ 2021-11-24 18:39 李小龙6881644 阅读(49) 评论(0) 推荐(0)
摘要: 第 7 章 排序算法 1、排序算法介绍 1.1、排序算法的简介 排序也称排序算法(Sort Algorithm), 排序是将一组数据, 依指定的顺序进行排列的过程。 1.2、排序算法的分类 内部排序:指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。 外部排序法:数据量过大, 无法全部加载 阅读全文
posted @ 2021-11-24 18:38 李小龙6881644 阅读(26) 评论(0) 推荐(0)
摘要: 第 6 章 递归 1、递归介绍 1.1、递归应用场景 看个实际应用场景, 迷宫问题(回溯), 递归(Recursion) 1.2、递归的概念 简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。 1.3、递归调用机制 打印问题 阶乘 阅读全文
posted @ 2021-11-24 18:37 李小龙6881644 阅读(21) 评论(0) 推荐(0)
摘要: 第 5 章 栈 1、栈的基本介绍 1.1、栈的实际需求 请计算表达式:[7 * 2 * 2-5+1-5+3-3] 的值 请问: 计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7 * 2 * 2 - 5,但是计算机怎么理解这个算式的 对计算机而言, 它接收到的就是 阅读全文
posted @ 2021-11-24 18:37 李小龙6881644 阅读(47) 评论(0) 推荐(0)
摘要: 第 4 章 链表 1、链表(Linked List)介绍 1.1、内存结构 内存上来看:链表存储空间不连续(不像数组) 1.2、逻辑结构 逻辑上来看:链表属于线性结构 1.3、链表特点 链表是以节点的方式来存储,是链式存储 data 域存放数据,next 域指向下一个节点 链表分带头节点的链表和没有 阅读全文
posted @ 2021-11-24 18:36 李小龙6881644 阅读(41) 评论(0) 推荐(0)
摘要: 第 3 章:稀疏数组和队列 1、稀疏数组 1.1、实际需求 编写的五子棋程序中,有存盘退出和续上盘的功能 因为该二维数组的很多值是默认值 0 ,因此记录了很多没有意义的数据,我们将其转为稀疏数组进行存储 1.2、稀疏数组应用 1.2.1、稀疏数组处理方法 稀疏数组把具有不同值的元素的行列及值记录在一 阅读全文
posted @ 2021-11-24 18:35 李小龙6881644 阅读(28) 评论(0) 推荐(0)
摘要: HashMap源码分析 以下代码都是基于java8的版本 HashMap简介 源码: public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { //...... 阅读全文
posted @ 2021-11-24 18:32 李小龙6881644 阅读(120) 评论(0) 推荐(0)
摘要: ArrayList源码分析 以下代码都是基于java8的版本 ArrayList简介 源码: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io. 阅读全文
posted @ 2021-11-24 18:30 李小龙6881644 阅读(47) 评论(0) 推荐(0)
摘要: Collection家族 Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。 什么是集合 集合是存储对象的容器,面相对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。 集合的出现就是为了持有对象。集合中可以 阅读全文
posted @ 2021-11-24 18:30 李小龙6881644 阅读(65) 评论(0) 推荐(0)