底层linkedlist源码 结构
07LinkedList集合
LinkedList集合 一、LinkedList集合 底层数据结果是双链表,查询慢,增删快,但是如果操作是首尾元素,速度也是极快的。 LinkedList本身多了很多直接操作首尾元素的特有API。 特有方法 说明 public void addFirst(E e) 在该列表开头插入指定元素 pub ......
08迭代器源码分析
Iterator 一、源码分析 size:集合的长度。 cursor:光标,表示迭代器的指针,默认指向0索引位置 二、modCount作用 modCount++;是集合变化的次数(删除或者添加)。 expectedModCount创建的迭代器的时候会把集合变化的次数传递给这个变量。(相当于迭代器对次 ......
06ArrayList源码分析
ArrayList 一、ArrayList集合的底层原理--扩容机制 利用空参创建的集合,在底层创建一个默认长度为零的一个数组。 添加第一个元素时,底层会创建一个新的长度为10的数组。 存满时候,会扩容1.5倍。 如果一次添加多个元素,1.5倍放不下,则创建数组的长度以实际为准。 如:添加100个数 ......
zookeeper源码(03)启动流程
本文将从启动类开始详细分析zookeeper的启动流程: 加载配置的过程 集群启动过程 单机版启动过程 启动类 org.apache.zookeeper.server.quorum.QuorumPeerMain类。 用于启动zookeeper服务,第一个参数用来指定配置文件,配置文件properti ......
05数据结构(栈、队列、数组、链表)
数据结构 一、什么是数据结构 计算机底层存储、组织数据的方式。 是指数据相互之间是以什么方式排列在一起的。 数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。 一般情况下,精心选择的数据结构可以带来更高的运行或者存储效率。 如何学习数据结构: 每种数据结构长什么样子? 如何添 ......
01集合结构体系
:集合体系结构 集合分两大类: Collection:单列集合,一次放入一个数据 Map:双列集合,一次放入一对数据 一、集合分两大类 Collection:单列集合,每次添加一个数据。 Map:双列集合,每次添加一对数据。 二、单列集合 集合体系结构图: List系列集合:添加的元素是:有序、可重 ......
c++同样结构体名冲突报错
两个不同的头文件中有同名的结构体 在编译项目文件的时候出现报错,结构体多次定义,其中一个头文件a的结构体是 typedef struct { double x, y; } Point; 另外一个头文件b是 typedef struct Point { int16 cardinality; uint8 ......
class底层原理分析
表面上是: class + 类名 会把类构造出来 实际上是: 元类实例化产生类 这个对象 # 类实例化产生对象, 一定是: 类名() # Person 类是有type实例化产生,传一堆参数 # type() 调用类的__init__方法 # type() # 如果想要控制类的产生过程,就要用 typ ......
java中native源码查找方法
以Object的hashCode()方法为例: 1. 下载openjdk源码或从github中查找,这里以github中查找为例;2. GitHub中查找https://github.com/bpupadhyaya/openjdk-8/tree/master/hotspot源码;3. 搜索到Obje ......
脚手架结构
TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Tradi ......
顺序队列结构分析
队列介绍 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的特点是先进先出(FIFO),下面是队列的 ......
学堂在线 PA - 数据结构 - Range
这是项目网站,伙伴们可以注册并提交,在北京的同学,据说有 On Campus 的机会。 项目地址:https://dsa.cs.tsinghua.edu.cn/oj/problem.shtml?id=1142 题目要求 Python 版本代码 相对比较简单,就切磋切磋。 ''' 学堂在线 PA - ......
html标签,属性,基本结构
一、认识标签 1标签有双标签和单标签 双标签:<marquue></marquue> 单标签:<input> 二、认识属性 1.loop属性:用来定义标签 2. 特殊属性值:没有属性值,只有名 三、基本结构 1.在网页,右键检查按钮,就可以查看某段结构的具体代码 2.基本结构 <html> <hea ......
数据结构与算法-cnblog
数据结构与算法 课程笔记 树与二叉树 树的深度与高度 高度就可以理解为深度 看层数: 如果根结点第0,层数=深度=高度-1 如果根结点第1,层数=深度=高度 深度定义是从上往下的,高度定义是从下往上的 ......
可持久化数据结构学习笔记
可持久化线段树 前置知识: 动态开点线段树 基本介绍 可持久化线段树可以维护多个版本信息。 举个例子: 你需要维护这样的一个长度为 \(N\ (1\le n\le 10^6)\) 的数组,支持如下几种操作 在某个历史版本上修改某一个位置上的值 访问某个历史版本上的某一位置的值 每次操作后生成一个新的 ......
初看vue3源码
因为工作的原因又回到了vue的领域,需要加深对vue和vue生态的了解也许平时比较多人手机看别人解析怎么看vue源码的,自己动手看vue源码的还是比较少,这次我想自己动手看看首先 吧代码获取到本地跑起来vue 仓库地址 https://github.com/vuejs/vue 开发环境 搭建指南 h ......
转换结构-一列转二维表
一串转一列: 先来个最简单的,一串文字:“甲公司产品:鸽子玻璃糕、双色豆糕、蜜饯金枣、合意饼;乙公司产品:奶白葡萄、双色马蹄糕、合意饼;丙公司产品:蜜饯哈密杏、菠萝软糖、菠萝软糖、蜜饯荔枝、翠玉豆糕”,转成一列。 =TEXTSPLIT(A1,,{":","、",";"}) 这就是TextSplit的 ......
数据结构之树(二叉树)
什么是二叉树(binary tree)? 在树结构的基础上,要求其中每个节点最多有两个子节点(一个节点最多有2个边)。 二叉树由根节点和若干个左子树和右子树构成,这些子树也都是二叉树。二叉树可以为空树,也可以只包含一个根节点。 为什么树形结构常用二叉树呢? 就是为了省空间。n叉树,n越大就需要更多的 ......
NOIP[区间数据结构类问题]
平面最近点对 经典的分治问题,把所有的点按照 \(x\) 排序,然后分治处理两个子区间,然后枚举离中心少于已知最小值的点,判断能否出现更小值。 int n,temp[250000]; struct node{ int x,y; }a[500500]; bool cmp(node l,node r){ ......
【数据结构】- 并查集
并查集 简介 并查集是可以维护 元素集合 的数据结构。并查集通过把一个集合作为一棵树的方式,维护一个 森林(这暗含并查集可以维护连通块个数,如在 kruskal 中,通过并查集维护连通块个数就能快速判断循环退出条件),并使用树的 根节点代表各集合。这样一棵树的节点就对应该集合中的元素。可以方便地支持 ......
基础数据结构:KMP
1、KMP 以AcWing.831为例, 给定一个模式串S,以及一个模板串P,所有字符串中只包含大小写英文字母以及阿拉伯数字。 模板串P在模式串S中多次作为子串出现。 求出模板串P在模式串S中所有出现的位置的起始下标。 输入格式第一行输入整数N,表示字符串P的长度。 第二行输入字符串P。 第三行输入 ......
基础数据结构:Trie树
1、Trie树 以AcWing.835为例, 维护一个字符串集合,支持两种操作: “I x”向集合中插入一个字符串x;“Q x”询问一个字符串在集合中出现了多少次。共有N个操作,输入的字符串总长度不超过10^5,字符串仅包含小写英文字母。 输入格式第一行包含整数N,表示操作数。 接下来N行,每行包含 ......
android源码
系统必须是ubuntu18.04 https://releases.ubuntu.com/18.04/ 4核2线程 12GB repo管理的所有git库 .git文件夹都在 项目根目录的.repo/projects文件夹下 同步代码 sudo apt-get update sudo apt-get ......
ResNet详解:网络结构解读与PyTorch实现教程
本文深入探讨了深度残差网络(ResNet)的核心概念和架构组成。我们从深度学习和梯度消失问题入手,逐一解析了残差块、初始卷积层、残差块组、全局平均池化和全连接层的作用和优点。文章还包含使用PyTorch构建和训练ResNet模型的实战部分,带有详细的代码和解释。 关注TechLead,分享AI与云服 ......
数据结构 第四章 树 作业
4-1 计算二叉树最大的宽度 二叉树的最大宽度是指二叉树所有层中结点个数的最大值。例如:下面二叉树的宽度为4. 输入二叉树的完全前序序列建立一棵二叉树(上机作业2:二叉树的建立和遍历),编写算法计算并输出二叉树的宽度。 输入格式: 二叉树数据元素为单个字符且各不相同,取值范围为AZ,az,二叉树可以 ......
Vue源码学习(十三):实现watch(一):方法,对象
好家伙, 代码出了点bug,暂时只能实现这两种形式 完整代码已开源https://github.com/Fattiger4399/analytic-vue.git Vue:watch的多种使用方法 watch有非常多种使用方式,我们要对其进行分类讨论处理 1.初始化: //initState.js ......
ELF文件结构分析(arm gnu版本)
为了学习使用objdump和size命令,以simple_section.c为例进行分析。 编译环境是x86 ubuntu下的交叉编译arm指令: 首先编译这个文件。 arm-none-eabi-gcc -c simple_section.c 命令解释 objdump 作用:分析二进制文件的内容信息 ......
ELF文件结构分析(x86 gnu版本)
为了学习使用objdump和size命令,以simple_section.c为例进行分析。 编译环境是x86 ubuntu,首先编译这个文件。 gcc -c simple_section.c 命令解释 objdump 作用:分析二进制文件的内容信息 objdump --help Usage: obj ......
if选择结构
public class ifDemo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入内容"); String s = sca ......
switch选择结构
public class switchDemo01 { public static void main(String[] args) { //case穿透 //switch 匹配一个具体的值 //break跳出循环 //default都没输出就输出这个属性的内容 char grade = 'B'; ......