
数据结构
超悦人生
公众号【超悦编程】,专注于校招、算法、数据结构和计算机基础知识。
展开
-
《一文说透数据结构》系列之什么是堆?看这一篇就够了
本文将首先介绍什么是堆,然后介绍了堆的插入和删除操作,最后给出了堆的代码实现,并进行了测试。原创 2020-01-26 18:59:34 · 6848 阅读 · 0 评论 -
《深入浅出话数据结构》系列之什么是B树、B+树?为什么二叉查找树不行?
本文将为大家介绍B树和B+树,首先介绍了B树的应用场景,为什么需要B树;然后介绍了B树的查询和插入过程;最后谈了B+树针对B树的改进。原创 2020-01-18 13:01:10 · 6504 阅读 · 0 评论 -
为什么要有红黑树?什么是红黑树?画了20张图,看完这篇你就明白了
为什么要有红黑树?什么是红黑树?画了20张图,看完这篇你就明白了原创 2020-01-12 23:54:54 · 8153 阅读 · 3 评论 -
Java中Vector与ArrayList的区别
ArrayList与Vector的区别主要包括两个方面:. 线程安全性 Vector是线程安全的,也就是说是它的方法之间是线程同步的,而ArrayList是线程序不安全的,它 的方法之间是线程不同步的。所以如果是多线程访问的话,最好使用Vector,可以避免编写保证线程之间安全的代码。 数据增长 二者都有一个初始容量大小,采用线性连续存储空间;当Vector或ArrayList中的元素超过它的初始...原创 2020-01-02 16:38:07 · 228 阅读 · 0 评论 -
java中ArrayList、LinkedList和Vector的区别与选取
java中常用的List的实现类有ArrayList、LinkedList和Vector。 ArrayList 底层通过数组实现,查询速度快,增删改慢。 LinkedList 底层通过链表实现,增删改快,查询速度慢。 Vector 底层是数组结构,但是Vector是线程同步的,所以它也是线程安全的,效率比ArrayList低。 选取原则 在开发中的选取时主要考虑以下几个问题: 线程安全性问题 如果...原创 2020-01-02 16:28:11 · 295 阅读 · 1 评论 -
java语言实现位图
最近在做项目用到了位图,但是java中没有实现类,就自己写了一个,底层用byte数组进行封装,代码如下: public class BitMap { private int length; private byte[] data; private BitMap(){ } public BitMap(int len) { this.lengt...原创 2019-12-29 18:21:47 · 358 阅读 · 1 评论