- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 数据结构—队列小结
队列1动态数组队列2链表队列3两栈实现队列4两队列实现栈5前k个元素逆置import java.util.Arrays;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;/** * Created by root on 17-11-12. */public
2017-11-12 13:30:46 446
原创 数据结构—栈小结
1数组栈2动态数组栈动态数组栈有两种实现方法,一种是每次扩充1位并进行复制,插入n个元素的时间复杂度位O(n^2)--1+2+...+n一种是每次扩充2倍并进行复制,插入n个元素的时间复杂度为0(n)...1+2+4+8...+n,此处使用这种最优化的方案。3链表栈4最小栈的优化版5栈的逆置(只用push和top)6数组跨度7数组跨度28栈排序9数组最大面积
2017-11-10 15:19:56 587
原创 数据结构—链表的操作小结
总结一下链表的相关操作1判断是否有环 2找到环的交界 3返回环的长度 4两个链表的公共节点 5链表逆置 6带有random指针的链表复制import java.util.HashMap;import java.util.Map;/** * Created by root on 17-11-9. */class Node{ int val;
2017-11-09 16:14:18 407
原创 数据结构—AVL树
AVL树----平衡二叉树平衡二叉树是一颗二叉树,而且平衡二叉树的左右子树的高度差小于等于1;平衡二叉树最关键的点在于插入操作。插入操作在不平衡的时候要进行【右旋,左旋,右左旋,左右旋等】右旋的条件为,AVL树插入新节点到某个节点的左孩子的左子树。左旋的条件为,AVL树插入新节点到某个节点的右孩子的有子树右左旋的条件为,AVL树插入新节点到某个节点的右孩子的左孩子处左右
2017-11-05 15:24:42 399
原创 数据结构-堆小结
总结堆的几种操作:删除操作(调整堆),添加堆调整堆:例如在进行删除操作的时候,我们将根结点与最后一个节点进行替换,替换以后,删除掉最后一个节点或在将lastSize(记录数组大小的指针)前移。int void reshape(int[] heap,int root){ boolean done=false;//判断orphan是否大于largeChild,用来跳出循环
2017-11-04 16:54:03 309
原创 数据结构—cloneable&&二叉树
1介绍cloneable接口,并引申与它相关的知识点:2二叉树相关知识点:一、cloneable接口首先强调一个问题,cloneable接口时空的,clone方法不是cloneable的方法!!!clone时object的方法,方法原型为protected object clone () throws CloneNotSupportException这里有两个细节,一 返回值是
2017-11-02 20:36:33 188
原创 数据结构—基本树的操作小结
整理几个树的算法。1树的复制:每次递归创建一个节点,此节点的左右孩子递归创建。public static Tree duplicate(Tree root){ Tree newRoot = new Tree(root.val); if (root.left!=null) newRoot.left=duplicate(root.left); if
2017-11-01 21:33:54 445
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人