面试相关
学习笔记
只要你一直跑
热爱分享,追求技术卓越
展开
-
[刷题]剑指offer(java版)26-40
26.[二叉树中和为某一值的路径]输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)。思路:用递归,判断当前的和是否等于节点路径以及当前节点是不是目标整数,如果都满足,那么这个list是符合要求的,不然就对左子树或者右子树中递归地找代码:...原创 2019-10-11 18:22:06 · 221 阅读 · 0 评论 -
[Java基础]多线程高级4--线程池
一.为什么要使用线程池针对问题: 处理任务的线程创建和销毁都需要花销,不仅耗时也耗资源,多线程之间的切换也非常耗资源线程池优点:1.采用线程池的话可以消除线程创建的时耗,因为线程池提前把线程创建好,线程在需要使用的时候已经存在了,不需要再创建了,用完之后也不需要销毁,直接换回去就行了2.通过设置线程数目,可以防止资源不足二.ThreadPoolExecutor的全参构造函数参数介绍三....原创 2019-10-05 11:25:23 · 114 阅读 · 0 评论 -
[Java基础]多线程高级3--容器
一.容器类接口关系图(图片来源于网络)二.HashMap实现分析2.1HashMap数据结构是链表散列的数据结构,即数组和链表的结合体数组:存储区间连续,占用内存严重,寻址容易,插入删除困难链表:存储区间不连续,占用内存宽松,寻址不容易,插入删除容易HashMap综合应用了两种数据结构,实现了寻址容易,插入也容易Entry0 EntryEntryEntry1EntryEntryE...原创 2019-10-05 00:49:43 · 144 阅读 · 0 评论 -
[Java基础]多线程高级2--多线程控制类
为了保证多线程的三个特性,Java引入了很多线程控制机制,这里主要介绍几种机制作用ThreadLocal线程本地变量,提供局部变量为每个线程保存一份副本原子类保证变量的原子性lock类保证线程有序性Volatile保证线程变量可见性一.ThreadLocal1.1作用提供线程局部变量,为使用相同变量的每一个线程维护一个该变量的副本。使用的场...原创 2019-10-04 19:06:34 · 246 阅读 · 0 评论 -
[数据结构]二叉树的各种遍历方式的Java实现
一.摘要树的遍历有前序遍历,中序遍历,后续遍历三种方式,每种方式又有递归和非递归两种实现方法,以下是各种遍历方式的Java实现,这三种遍历方式的实现有下相同的点,递归的方法思路是比较清晰的,而非递归会稍微复杂一些,都需要用到栈的数据结构。先定义树节点的结构public class TreeNode(){ TreeNode left;//左孩子 TreeNode right;//右孩子...原创 2019-09-19 18:24:33 · 180 阅读 · 0 评论 -
[数据结构]各种排序算法的java实现
一.算法分类第一类 原始最简单又是最复杂:插入排序,冒泡排序,选择排序,思路最简单,但是时间复杂度是最大的o(n2),空间复杂度倒是还好,是O(1)第二类 进阶借助了空间或者数据结构,降低了时间复杂度的算法:快速排序,归并排序,堆排序,希尔排序,时间复杂度都是O(nlogn),空间复杂度不一定第三类 特殊针对于特殊的数据使用的;基数排序和桶排序二.Java实现2.1.1原始-直接插...原创 2019-09-18 20:12:54 · 209 阅读 · 2 评论