码迷,mamicode.com
首页 >  
搜索关键字:链表    ( 15916个结果
Java集合详解(五):Hashtable原理解析
概述 本文是基于jdk8_271版本进行分析的。 Hashtable与HashMap一样,是一个存储key-value的双列集合。底层是基于数组+链表实现的,没有红黑树结构。Hashtable默认初始化容量为11,Hashtable也会动态扩容,与HashMap不同的是,每次扩容的容量是原容量2倍+ ...
分类:编程语言   时间:2021-06-02 10:43:44    阅读次数:0
Java18 类集框架
第18章 类集框架 18.1 Java类集框架 18.2 Colloection集合接口 18.3 List集合 18.4 Set集合 18.5 集合输出 18.6 Map集合 18.7 Stack栈 18.8 Queue队列 18.9 Properties属性操作 18.10 Collection ...
分类:编程语言   时间:2021-06-02 10:43:05    阅读次数:0
HashMap的底层实现原理? HashMap 和 Hashtable的异同? 负载因子值的大小,对HashMap有什么影响?
1. HashMap的底层实现原理 HashMap的底层:数组+链表 (jdk7及之前) 数组+链表+红黑树 (jdk 8)HashMap的底层实现原理?以jdk7为例说明: HashMap map = new HashMap(): 在实例化以后,底层创建了长度是16的一维数组Entry[] tab ...
分类:其他好文   时间:2021-06-02 10:34:15    阅读次数:0
两数相加
题目:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 思路: 代码: 1 /** 2 * Definition fo ...
分类:其他好文   时间:2021-05-25 18:39:30    阅读次数:0
04 链表(上):如何实现LRU缓存淘汰算法?
一、什么是链表? 1.和数组一样,链表也是一种线性表。 2.从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。 3.链表中的每一个内存块被称为节点Node。结点除了存储数据外,还需记录链上下一个结点的地址,即后继指针next。 二、为什么使用 ...
分类:编程语言   时间:2021-05-25 17:39:06    阅读次数:0
#19. 删除链表的倒数第 N 个结点
题目: 思路:一道经典的快慢指针问题,快指针先走n步,然后一起走,快指针走到最后一个节点,慢指针就到了要被删除的节点的前一个节点。 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, n ...
分类:其他好文   时间:2021-05-24 17:18:01    阅读次数:0
HashMap底层为什么一定用数组
HashMap底层为什么一定用数组 HashMap源码数据结构: Entry[] table = new Entry[capacity]; 其中,Entry就是一个链表节点。如果将数组替换成LinkedList是否可行?如下: List<Entry> table = new LinkedList<E ...
分类:编程语言   时间:2021-05-24 16:58:48    阅读次数:0
相交链表
题目:编写一个程序,找到两个单链表相交的起始节点。 注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。 代码: 1 /** 2 * Definition for si ...
分类:其他好文   时间:2021-05-24 16:47:52    阅读次数:0
剑指offer:二叉搜索树与双向链表
二叉搜索里左子树的值都小于根节点的值,右子树的值都大于根节点的值,如果按从小到大顺序排的话,顺序是跟中序遍历一致的,首先想到的思路是对树进行中序遍历,用一个vector把每个节点都存起来,然后将每个节点双向连接起来,但显然并不是出题者想看到的方法。于是开始往递归的方向想,首先想到的是将根节点左边与左 ...
分类:其他好文   时间:2021-05-24 16:37:01    阅读次数:0
如何实现LRU(最近最少使用)缓存淘汰算法?
我们维护一个有序单链表,越靠近链表尾部的结点是越早之前访问的。 当有一个新的数据被访问时,我们从链表头开始顺序遍历链表。 如果此数据之前已经被缓存在链表中了,我们遍历得到这个数据对应的结点,并将其从原来的位置删除,然后再插入到链表的头部。 如果此数据没有在缓存链表中,又可以分为两种情况:如果此时缓存 ...
分类:编程语言   时间:2021-05-24 16:22:09    阅读次数:0
15916条   上一页 1 ... 4 5 6 7 8 ... 1592 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!