链表是一种常见的数据结构,链表是由一连串的结点组成,这个节点就是链结点,每个链结点都由数据域和指针域两部分组成。使用链表结构可以克服数组结构需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。
分类:
其他好文 时间:
2020-09-14 19:09:09
阅读次数:
25
链表是一种常见的数据结构,链表是由一连串的结点组成,这个节点就是链结点,每个链结点都由数据域和指针域两部分组成。 使用链表结构可以克服数组结构需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间 ...
分类:
其他好文 时间:
2020-09-12 21:51:25
阅读次数:
59
数据结构有几类:线性结构、链表、Hash散列 1.线性结构:在内存中存放的顺序是连续的可以节约空间,可以通过索引查找,优点:查询数据很快、缺点:每次修改删除都有内存的移动会慢。 2.链表:链表结构在内存中是不连续的,不可以通过索引查找,他在每块内存中除了存放值还存放了下块内存的索引,优点:增删快,缺 ...
分类:
Web程序 时间:
2020-07-28 00:24:34
阅读次数:
87
题目链接 https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ 初次读题 初次读题可知 两个指针相同即需要求得的结果 链表长度可能不同 两个链表可能没有交叉点,此时返回NULL 不可修改链表结构 链表中无循环 我第一次读 ...
分类:
其他好文 时间:
2020-07-10 23:51:38
阅读次数:
63
最近复习了线性表,对链表这一部分遗忘最大,所以手动实现一下加深理解,附上C++代码: #include <iostream> using namespace std; typedef struct LNode //定义一个结构体作为链表结构,有指针域和数据 { int data; struct LN ...
分类:
编程语言 时间:
2020-07-07 09:54:52
阅读次数:
88
HashMap 底层是如何实现的?在 JDK 1.8 中它都做了哪些优化? 在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的,JDK 1.8 之后新增了红黑树的组成结构,当链表大于 8 并且容量大于 64 时,链表结构会转换成红黑树结构,它的组成结构如下图所示: 数组中的元素我们称 ...
分类:
其他好文 时间:
2020-07-04 18:34:35
阅读次数:
44
一,集合 概念:对象的容器 核心:对数据结构和算法的OOP体现 接口层: (1)Collection List:有序不唯一 值可以为null ArrayList 数组结构 LinkedList 链表结构 Set:无序且唯一 值最多只有一个null (2)Map 键唯一 最多只有一个null 值不唯一 ...
分类:
编程语言 时间:
2020-06-29 09:44:13
阅读次数:
65
1. java常见队列: (1) ArrayBlockingQueue: 一个基于数组结构的有界阻塞队列, FIFO(先进先出)。(2) LinkedBlockingQueue: 一个基于链表结构的阻塞队列, 此队列按FIFO (先进先出) 排序元素, 吞吐量通常要高于ArrayBlockingQu ...
分类:
编程语言 时间:
2020-06-25 21:19:17
阅读次数:
345
在linux内核中list的使用很频繁,使用管理对象,下面来详细说明其用法。 1链表结构定义 首先看链表的定义,位于:include\linux\types.h 1 struct list_head { 2 struct list_head *next, *prev; 3 }; 一般将该数据结构嵌入 ...
分类:
系统相关 时间:
2020-06-13 13:12:10
阅读次数:
62
HashMap在JDK1.7是以数组加链表的形式组成,JDK1.8后新增了红黑树结构,当链表大于8并且容量大于64时,链表结构会转成红黑树结构。 JDK1.8 之所以会加入红黑树是因为当链表过长是会严重影响HashMap的性能,而红黑树具有快速增删改查的特点。 HashMap源码中包含了一下几个常量 ...
分类:
其他好文 时间:
2020-06-10 18:50:49
阅读次数:
59