- 博客(4)
- 收藏
- 关注
原创 java并发编程实战6-基础构建模块
同步容器类常见的容器:Vector、HashTable、Collections.synchronizedXXX封装类等都是线程安全的,但在某些情况下可能需要客户端加锁来保护复核操作(如A线程获取最后一个值,B线程删除最后一个元素,这两个操作可能交替执行,可能使得抛出ArrayIndexOutOfBoundsException),...
2020-12-30 19:07:49 222 2
原创 常见数据结构优缺点
通用数据结构:1.数组分类:无序数组,有序数组特点:一般针对数据量较小且数据可预知的情况,创建时指定大小,不利于扩展;在内存中预留一块连续的区域,内存空置率高利用率较低;无序数组插入较快,有序数组查询较快,利用下标访问,随机访问性强。优点:查询速度快随机访问性强,遍历数组方便缺点:内存固定,扩展性差数组要预留空间,内存利用率低插入删除速度慢只能存储一种类型的数据2.链...
2018-12-02 22:23:53 4427
原创 数据结构 哈希表学习
哈希表(基于数组):插入利用哈希算法计算出要插入的数据项对应的下标的值,如果发生冲突此数组元素已有值,可采用开放地址法(插入到下一个空值的地方)或链地址法(新的数据项插入到数组下标所指的链表中)。开放地址法的删除会让要删除的数组元素等于特定的某个数据项,而不是直接等于null,可以使查找的方法顺利进行。 填装因子:在开放地址法的线性探测中插入数据会发生聚集(哈希值相同的数据项冲...
2018-12-01 16:58:02 247
原创 希尔、快速、归并排序学习总结
冒泡、选择、插入排序的效率都是O(N^2),但插入排序稍微快一些归并排序的效率是O(NlogN),希尔排序的效率大约是O(N(logN)2),快速排序需要O(N*logN)时间,希尔排序效率不稳定O(N*N(1.3~2)),理论上归并比快速还要快,但归并要创建新的数组临时存储数据减慢了速度,一般归并和快速速度不相上下。1.希尔排序通过加大插入排序中元素之间的间隔,并在这些有间隔的元素中进行插...
2018-11-11 21:06:01 339
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人