![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java数据结构
Carmine逸
这个作者很懒,什么都没留下…
展开
-
二分搜索——分治思想
二分查找二分查找是一种在每次比较之后将查找空间一分为二的算法。每次需要查找集合中的索引或元素时,都应该考虑二分查找。如果集合是无序的,我们可以总是在应用二分查找之前先对其进行排序。时间复杂度是: log N。因为,二分查找是通过将现有数组一分为二来执行的。每次调用子例程(或完成一次迭代)时,其大小都会减少到现有部分的一半。迭代的最大次数是 log N (base 2) 。最常用的模板二分查找一般由三个主要部分组成:预处理 —— 如果集合未排序,则进行排序二分查找 —— 使用循环或递归在每次比较原创 2020-06-03 20:08:07 · 1626 阅读 · 0 评论 -
链表——一种线性数据结构
链表链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素中的引用字段链接在一起。线性数据结构与数组一样,链表也是线性数据结构,他们的区别在于存储方式不同。顺序存储结构(数组):快速的存和取,逻辑上相邻,物理上也相邻。链式存储结构(链表):快速的删和改,节点在内存中并不相邻,且相比数组需要更多存储空间。Tips:链表的遍历时间复杂度为O(n),增删的时间复杂度为O(1)...原创 2020-05-13 16:16:12 · 1511 阅读 · 0 评论 -
Java实现循环队列/栈——先入先出/后入先出的数据结构
先入先出的数据结构在 FIFO 数据结构中,将首先处理添加到队列中的第一个元素。如上图所示,队列是典型的 FIFO 数据结构。插入(insert)操作也称作入队(enqueue),新元素始终被添加在队列的末尾。 删除(delete)操作也被称为出队(dequeue)。 你只能移除 第一个元素。队列–实现队列的初始化: 用队列的两个主要操作:入队与出队 // store eleme...原创 2020-04-22 14:58:53 · 3536 阅读 · 0 评论