数据结构学习(Java)

首先数据结构分为线性数据结构和非线性数据结构。

:Stack是要实现先进后出,后进先出的逻辑结构。

boolean empty() 
//测试此堆栈是否为空。  
E peek() 
//查看此堆栈顶部的对象,而不从堆栈中删除它。  
E pop() 
//删除此堆栈顶部的对象,并将该对象作为此函数的值返回。  
E push(E item) 
//将项目推送到此堆栈的顶部。  
int search(Object o) 
//返回一个对象在此堆栈上的基于1的位置。  

队列:Queue是一种特殊的线性数据结构,队列只能允许在队头,队尾进行添加和查询等相关操作。

boolean add(E e)
//将指定元素插入到队列中
E element() 
//检索但不删除这个队列的头。 
boolean offer(E e) 
//如果在不违反容量限制的情况下立即执行,则将指定的元素插入到此队列中。 
E peek() 
//检索但不删除此队列的头,如果此队列为空,则返回 null 。  
E poll() 
//检索并删除此队列的头,如果此队列为空,则返回 null 。  
E remove() 
//检索并删除此队列的头。  

相对于此类更多的运用的是双端队列(Deque),具有更强的灵活性,扩展了Queue类,同样可以使用于栈结构的使用,不同于单调的队列,栈(Stack)是先进后出

在Deque中可以对第一个和最后一个数据进行操作

:树是一种典型的非线性结构,它是由 n(n>0)个有限节点组成的一个具有层次关系的集合。之所以叫“树”,是因为这种数据结构看起来就像是一个倒挂的树,只不过根在上,叶在下。树形数据结构有以下这些特点:

1.每个节点都只有有限个子节点或无子节点;

2.没有父节点的节点称为根节点;

3.每一个非根节点有且只有一个父节点;

4.除了根节点外,每个子节点可以分为多个不相交的子树。

在这里插入图片描述

class Tree{
    //二叉树
    private Tree rNode;
    //右节点
    private Tree lNode;
    //左节点
    private Object data;
    //节点数据
}

:一种特殊的树结构堆,是一棵完全二叉树,也就是一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同

class MyTree {
    private MyTree rNode;
    private MyTree lNode;
    private Integer data;
    public MyTree(Integer data){
        this.data=data;
    }
    public void add(MyTree node){
        if (node==null){
            return;
        }
        if (node.data< this.data){
            if (this.lNode==null){
                this.lNode=node;
            }else {
                this.lNode.add(node);
            }
        }else {
            if (this.rNode==null){
                this.rNode=node;
            }else {
                this.rNode.add(node);
            }
        }
    }

}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Array_new

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值