自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 关于HashMap被面试官问倒后,含泪整理

数据结构java1.7:数组+链表java1.8:数组+链表+红黑树单个节点的结构:static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> next; ... }所以说横着看第一排是一个数组,竖着看是一个个链表,或者一棵树,我们都知道ha

2022-03-09 17:47:01 165 1

原创 线程进程区别,通信方式

进程进程的并发性现在的操作系统多为并发执行,引入并发执行的目的是为了提高资源利用率。在多道系统出现后为了划分系统内部情况引进了进程的概念。进程是系统进行资源分配和调度的独立单位进程控制块进程控制块PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操作系统所需的、用于描述进程当前情况以及控制进程运行的全部信息。线程线程的引进由于进程是资源拥有者,进程创建,撤销等操作系统都需要付出较大的时空开销,因此不宜频繁创建,也限制了并发度,将进程的两个属性分开,作为调度和分派

2022-03-07 00:05:54 354

原创 动态规划(1)——爬楼梯,最长回文子串

最近要开始练动态规划了,这个部分我一直都很害怕,很抗拒,因为一开始学的时候没有看概念直接扣题,书也是看的算法导论,导致我对这部分很害怕,所以决定系统的学习练习一下动态规划,想深入理解一下。结合了各路大佬以及一些书籍总结在此。(相看题的直接往下翻)1.动态规划题怎么想思路?动态规划不是某一种具体的算法,而是一种算法思想:若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。既然是一种思想所以我们在解题的时候怎么能带入这种思想去想问题呢?我们需要了解一下几个概念:1.

2021-01-23 19:32:32 195

原创 层序创建二叉树,层序遍历二叉树

在学习树的过程中发现,他们都有一个共同的特点,无论是在创建时还是遍历时,都是需要先父母再左孩子右孩子的顺序如图层序遍历时顺序为A->B->C->D->E->F->G,先被访问的结点,他的孩子也是先被访问的,层序创建二叉树时,先创建的结点他的孩子也先创建,符合先进先出原则,因此可以用队列来实现。所以他们的共同点就是都可以用队列来帮助实现。那就先从较为简单的遍历开始吧!1.层序遍历思路:刚才分析时我们发现可用队列,第一步,若根节点不为空我们先让根节点入队,判断他的左

2021-01-18 14:59:57 7935 5

原创 线索二叉树及其遍历

1.为什么要对二叉树线索化?先看下图二叉树:不难看出有许多空指针域的存在,那对于有n个结点的二叉树它的空指针域有多少呢?一个n结点二叉树总指针域为2n(每个都有左右孩子两个指针域),而n个结点二叉树含有n-1条分支线,反过来想就是没有多少条分支线就有多少个空指针域,所以空指针域为2n-(n-1)=n+1个,空指针太多浪费内存资源。如果我们能把这些空地址放上结点的前驱和后继,那将会节省很多时间。2.什么是线索化?将二叉树变为线索二叉树的过程称为线索化。按某种次序将二叉树线索化的实质是:按该次序遍历

2021-01-15 13:24:34 2954 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除