![](https://img-blog.csdnimg.cn/20200610124056390.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java # 数据结构
Java中的数据结构和一些常用算法
#spring bear#
这个人很懒,没有写简介哦
展开
-
基于比较的排序
1、插入排序 (折半插排)减治算法排序每次从无序区间选择第一个数,插入到有序区间的合适位置2 3 4 5 9 17681 2 3 4 5 9 7681 2 3 4 5 7 9 68一共需要多少次插入 size-1想清楚有序区间 无序区间插入过程:每次把无序区间的第一个数进行插入 在有序区间内遍历1)找到合适的位置2)搬移原有数据 为该数据腾位时间复杂度 逆序(...原创 2019-09-07 21:20:18 · 216 阅读 · 0 评论 -
二叉树的遍历--广度优先遍历
除深度优先遍历之外,二叉树还有另外一种遍历,广度优先遍历。层序遍历,即按层遍历(广度优先)用队列来实现该遍历1.把根放到队列中(创始)2.循环直到 队列为空把队首结点取出把队首结点的左右孩子放到队列(非空)//层序遍历 public static void levelOrder(Node root){ if(root==null){ r...原创 2019-08-28 16:15:02 · 562 阅读 · 0 评论 -
二叉树的遍历--深度优先遍历
深度优先遍历包括:前中后序遍历比较容易实现的是利用递归迭代进行遍历操作前序遍历public static void preOrderTree(Node root){ if(root==null){ return; } System.out.print(" "+root.val); preOrderTree...原创 2019-08-28 15:59:23 · 153 阅读 · 0 评论 -
判断二叉树是否为平衡二叉树
要判断二叉树是否为平衡二叉树平衡二叉树的定义 :在一个二叉树中 每个节点子树的左右高度差不超过11、首先判断它的根节点是否为空若是的话,就是平衡二叉树2、分别求出左右子树的高度若高度的绝对值不超过一则为平衡二叉树//计算二叉树高度 public static int calcHigh(Node1 root) { if (root == null) {...原创 2019-08-25 21:30:19 · 101 阅读 · 0 评论 -
Java--05:链表
初学Java--关于链表(ps:待整理)class Node{ public int value; public Node next;public Node(int value){ this.value=value; this.next=null; }}/*public class Linklist{// travelpublic stat...原创 2019-06-14 18:03:23 · 148 阅读 · 0 评论 -
java-栈与队列
栈和队列是一种特殊的线性表LinkedList add/remove常用方法push/pop addFisrt addLast一、栈:栈顶 push 放入数据(压栈)栈底 pop 删除数据(弹栈)特点先进后出 后进先出操作:1初始...原创 2019-08-25 09:13:40 · 137 阅读 · 0 评论