
算法
java菜鸟231
这个作者很懒,什么都没留下…
展开
-
java 数据结构 链表
链表是一种物理存储单元上非连续、非顺序的存储结构,其物理结构不能只管的表示数据元素的逻辑顺序,数据元 素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列的结点(链表中的每一个元素称为结点)组成, 结点可以在运行时动态生成。 单向链表 /** * 单向链表 * @param <T> */ public class LinkList<T> implements Iterable<T> { //记录头结点 private Node head原创 2021-10-11 19:18:24 · 94 阅读 · 0 评论 -
java 数据结构 顺序表
顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元,依次存 储线性表中的各个元素、使得线性表中再逻辑结构上响铃的数据元素存储在相邻的物理存储单元中,即通过数据元 素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系。 /** * 自动扩容 * @param <T> */ public class SequenceList2<T> implements Iterable<T> { //存储元素的数组 pri原创 2021-10-11 19:17:52 · 105 阅读 · 0 评论 -
java 数据结构 栈
栈是一种基于先进后出(FILO)的数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出 的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一 个数据被第一个读出来)。 我们称数据进入到栈的动作为压栈,数据从栈中出去的动作为弹栈。 public class Stack<T> implements Iterable<T> { //记录首结点 private Node head; //栈中元素的个原创 2021-10-11 19:24:48 · 248 阅读 · 0 评论 -
java 数据结构 队列
队列是一种基于先进先出(FIFO)的数据结构,是一种只能在一端进行插入,在另一端进行删除操作的特殊线性表,它 按照先进先出的原则存储数据,先进入的数据,在读取数据时先读被读出来。 public class Queue<T> implements Iterable<T> { //记录首结点 private Node head; //记录最后一个结点 private Node last; //记录队列中元素的个数 private int原创 2021-10-11 19:30:06 · 139 阅读 · 0 评论 -
java 数据结构 树
树是我们计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事物,例如家 谱、单位的组织架构、等等。 树是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就 是说它是根朝上,而叶朝下的。 树具有以下特点: 1.每个结点有零个或多个子结点; 2.没有父结点的结点为根结点; 3.每一个非根结点只有一个父结点; 4.每个结点及其后代结点整体上可以看做是一棵树,称为当前结点的父结点的一个子树; 结点的度: 一个结点含有的子树的个原创 2021-10-12 19:28:11 · 319 阅读 · 0 评论 -
java 算法 6种排序
冒泡排序 package 冒泡排序; import java.util.Arrays; public class Bubble { /** * 对数组a中的元素进行排序 * @param a */ public static int[] sort(int[] a){ for (int i=a.length-1;i>0;i--){ for (int j=0;j<i;j++){原创 2021-10-12 19:35:38 · 789 阅读 · 1 评论 -
算法 两数相除
给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/原创 2021-10-12 21:04:31 · 312 阅读 · 0 评论