本人git https://github.com/bigeyes-debug/Algorithm 一丶双向链表 单向链表只能通过node单向next从头遍历链表,只能直接获得后继,无法获得前驱 双向链表增加prev属性,prev属性指向前驱 双向链表可以从first 和last两个方向开始查找 二丶 ...
分类:
编程语言 时间:
2020-08-12 15:43:31
阅读次数:
65
1.Set的实现类的结构 Collection接口:单列集合、用来存储一个一个的对象 Set接口:存储无序的、不可重复的数据 HashSet:作为Set接口的主要实现类:线程不安全的,可以存储null值,底层:数组+链表 LinkedHashSet:作为HashSet的子类,在添加数据的同时,每个数 ...
分类:
其他好文 时间:
2020-08-11 15:47:02
阅读次数:
66
一、链表和数组 在编写代码中,我们储存的数据是存储于内存当中,内存就像一块块并列排序的小方盒,每个小方盒都有自己地址,我们储存的数据就在这样一个个小方盒当中。 这些数据存放的结构有两种基本方式,数组和链表。 1,数组 数组在内存中是按顺序,内存地址来存储的,就好似上图的抽屉,从上到下,按顺序存放物品 ...
分类:
编程语言 时间:
2020-08-10 22:08:10
阅读次数:
82
//头文件circlelist.h #pragma once #ifndef CIRCLELIST_H_ #define CIRCLELIST_H_ #include<iostream> using namespace std; struct circleNode{ float data; circ ...
分类:
其他好文 时间:
2020-08-10 22:06:07
阅读次数:
67
题目描述 输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Refere ...
分类:
其他好文 时间:
2020-08-10 19:51:47
阅读次数:
76
这是程序员cxuan的第三期分享前言谈到并发,我们不得不说AQS(AbstractQueuedSynchronizer),所谓的AQS即是抽象的队列式的同步器,内部定义了很多锁相关的方法,我们熟知的ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore等都是基于AQS来实现的。我们先看下AQS相关的UML图:思维导图(高清无损AV
分类:
其他好文 时间:
2020-08-10 10:58:33
阅读次数:
66
105. 复制带随机指针的链表 中文English 给出一个链表,每个节点包含一个额外增加的随机指针可以指向链表中的任何节点或空的节点。 返回一个深拷贝的链表。 挑战 可否使用O(1)的空间 hashmap写法,O(n)时间复杂度 """ Definition for singly-linked l ...
分类:
其他好文 时间:
2020-08-10 00:07:54
阅读次数:
70
3.5 MyLinkedList 类的实现 MyLinkedList 将用双链表实现,并且还需要保留该表两端的引用。这将需要三个类 MyLinkedList 类,包含到两端的链、表的大小以及一些方法。 Node 类 一个私有的嵌套类。一个节点包含数据以及到前一个节点的链和到下一个节点的链。 Link ...
分类:
其他好文 时间:
2020-08-09 19:12:16
阅读次数:
79
HashMap jdk1.7版本,底层是数组+链表,元素的插入使用头插法,可能形成数据丢失或环形链表。 jdk1.8版本,底层是数组+链表+红黑树,元素的插入使用尾插法,数据覆盖的情况。 扩容机制:LoadFactory默认0.75,创建空数组重新Hash。 resize线程不安全:多线程之间put ...
分类:
编程语言 时间:
2020-08-09 09:22:43
阅读次数:
88
复习: 1、什么是数据结构 是专门研究数据关系和操作的学科,而非是计算方法。 数据结构+算法=程序 2、逻辑结构和物理结构 逻辑结构: 集合:除了同属于一个集合,数据之间没有任何关系。 表:数据之间存在一对一关系。 树:数据之间存在一对多关系。 图:数据之间存在多对多关系。 物理结构: 顺序结构:数 ...
分类:
其他好文 时间:
2020-08-07 00:26:31
阅读次数:
78