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