![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
Galaxy_K
这个作者很懒,什么都没留下…
展开
-
旋转数组的最小数字(Java实现)
最近一直在学习算法相关的知识。下面,分享一道源自于《剑指offer》的题目。题目描述:把一个数组最开始的若干个元素搬到数组末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。附上以下四种解法:解法一:从头到尾遍历数组一次,即可找到最小元素。时间复杂度为o(n)publi...原创 2019-02-11 16:47:38 · 233 阅读 · 0 评论 -
Java实现具有迭代器的单链表
话不多说,直接附上源码:package DataStructure;import java.util.Iterator;import java.util.NoSuchElementException;//此接口为即将实现的类定义行为interface SLinkedList<E>{ //获取链表元素个数 int getSize(); ...原创 2019-02-14 13:28:04 · 606 阅读 · 0 评论 -
Java实现具有迭代器的顺序表
关于如何在自己定义的数据结构实现迭代器,请看这篇文章:https://www.cnblogs.com/xujian2014/p/5846128.html下面附上我的代码:package DataStructure;/** * Created with IntelliJ IDEA * User:12089 * Date:2019/2/28 * Time:21:28 * Des...原创 2019-03-01 12:42:10 · 344 阅读 · 0 评论 -
leetcode-反转链表问题与其进阶版本(java描述)
先来看问题描述:要想反转一个非空单链表,我们必须依次调整每个节点的指针指向。假设经过若干次调整,我们已经将 节点h之前 的指针调整完毕。但 由于节点i的指针指向 了它的前一个节点,导致我们无法在链表中访问到节点j。所以,为了这种情况的发生,我们需要在调整节点i的next指针之前,将节点j保存下来。因此,我们需要定义三个指针,分别指向当前遍历到的节点、它的前驱节点以及后继节点。给出我的代...原创 2019-03-08 17:25:16 · 223 阅读 · 0 评论 -
基于可扩容数组实现的大顶堆
代码如下:import java.util.Arrays;import java.util.Comparator;public class Heap<E> { private E[] elementData; private static final int DEFAULT_CAPACITY = 15; private Comparator<...原创 2019-06-11 17:16:12 · 191 阅读 · 0 评论 -
二叉树搜索树(Java实现)
代码如下(附有注释):package DataStructureDemo.com.ds.tree;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;public class BinarySearchTree<E extends Comparable<E>> ...原创 2019-06-11 17:23:54 · 570 阅读 · 0 评论