面试涉及问题含有: Java JDK8新特性 集合(哈希冲突、HashMap的原理、自动排序的集合TreeSet) 多线程安全问题 String和StringBuffer JVM 原理、运行流程、内部结构 Linux 查询含有某字符串内容的命令grep 查询进程、GC状态、杀死进程 Hadoop五种 ...
分类:
编程语言 时间:
2018-09-09 00:38:47
阅读次数:
213
题目链接 题意 : 给出一个哈希表、其避免冲突的方法是线性探测再散列、现在问你给出的哈希表是否合法、如果合法则输出所有元素插入的顺序、如果有多解则输出字典序最小的那一个、如果不合法则输出 -1 分析 : 经过对样例的模拟和观察、可以发现 如果一个元素 A 本应去到的位置 pos 被元素 B 占据、则 ...
分类:
编程语言 时间:
2018-08-24 20:40:35
阅读次数:
166
本篇介绍的HashMap综合了ArrayList和LinkedList这两个集合的优势,它的底层是基于哈希表实现的,如果不考虑哈希冲突的话,HashMap在增删改查操作上的时间复杂度都能够达到惊人的O(1)。 对于HashMap类源码中开头注释翻译: HashMap基于哈希表的 Map 接口的实现。 ...
分类:
编程语言 时间:
2018-08-21 22:35:20
阅读次数:
216
1 底层数据结构 数组(主体) + 链表(解决哈希冲突) 2 实现原理 HashMap 的主干是一个Entry数组,初始值是一个空数组 {}。 Entry是HashMap的基本组成单元,每一个Entry包含一个 key-value 键值对。 HashMap 整体结构 Entry源码 HashMap源 ...
分类:
其他好文 时间:
2018-07-28 21:44:51
阅读次数:
130
常用算法 资讯网址:www.qghkt.com 腾讯课堂:https://qghkt.ke.qq.com/20个常用算法 目 录 一、查找算法... 2 1.1、顺序查找... 2 1.2、折半查找... 4 1.3、哈希查找... 7 1.3.1线性探测法 1.3.2链地址法 二、字符串算法... ...
分类:
编程语言 时间:
2018-07-15 19:36:57
阅读次数:
211
数据结构,哈希查找,解决地址冲突(线性探测再散列,链地址法)C++实现 ...
分类:
编程语言 时间:
2018-07-07 01:07:54
阅读次数:
234
Hash表的“查找成功的ASL”和“查找不成功的ASL” ASL指的是 平均查找时间 关键字序列:(7、8、30、11、18、9、14) 散列函数: H(Key) = (key x 3) MOD 7 装载因子: 0.7 处理冲突:线性探测再散列法 查找成功的ASL计算方法: 以下求解过程是按照“计算 ...
分类:
其他好文 时间:
2018-06-06 01:09:02
阅读次数:
224
题目: 已知关键字序列为{30,25,72,38,8,17,59},设散列表表长为15.散列函数是H(key)=key MOD 13,处理冲突的方法为二次探测法Hi= ( H(key) + di )mod 15 ( di=12,-12,22,-22,… ),请写出构造散列表的详细计算过程,填写散列表 ...
分类:
其他好文 时间:
2018-06-03 21:28:36
阅读次数:
450
哈希查找:按某种规则散列 建立一个哈希表 ,适用于多次查找。因为建表消耗的时间和空间比较大。 散列函数:求整取余法 例如:数组中有n个值,则对n取余。申请一个长度为n的数组。最理想的情况下,每个位置放置一个数,但不同的数可能对n取余数相同。 解决哈希冲突: 1.开放地址法: 线性探测: 有冲突则放入 ...
分类:
其他好文 时间:
2018-06-01 23:14:05
阅读次数:
187
哈希查找的思想是按照某种弄规则散列(分组) 创建哈希表,可以多次利用 哈希查找适用于多次查找,查找速度是最快的 散列我们一般用求整取余法 数组长度是几我们就对几取余,存到哈希表的对应数组下标里 但是可能会遇到哈希冲突,也就是数组里某一处已经有元素了,还要往里存 解决哈希冲突我们一般用两种方法 1.开 ...
分类:
其他好文 时间:
2018-06-01 20:37:05
阅读次数:
180