java数据结构之单链表
在单链表中对表头进行插入或者删除时,时间复杂度为O(1)。单链表查询指定节点时因为要进行循环查找平均需要查找N/2次,所以时间复杂度为O(N)。存储密度=数据占用的存储量/整个结点占用的存储量。根据这个公式可以得出单链表的存储密度为大于1,在空间利用率上面比顺序表要差;所以可以得出以下结论:单链表一般作为插入或者删除频繁,查询比较少的场景下使用。空间使用率上面是比较顺序表要低。 …… 阅读全文
在单链表中对表头进行插入或者删除时,时间复杂度为O(1)。单链表查询指定节点时因为要进行循环查找平均需要查找N/2次,所以时间复杂度为O(N)。存储密度=数据占用的存储量/整个结点占用的存储量。根据这个公式可以得出单链表的存储密度为大于1,在空间利用率上面比顺序表要差;所以可以得出以下结论:单链表一般作为插入或者删除频繁,查询比较少的场景下使用。空间使用率上面是比较顺序表要低。 …… 阅读全文
下面直接上代码举例说明:public class CircularLinkedList { //java中循环单链表 private class Node {//创建一个内部节点类 private Node next = null; private Object value = null; public Node() { } public Node(Object …… 阅读全文
感谢tu451953337的分享 原文链接地址:点击打开链接这个循环双链表写的相当不错,注释解析也很清晰。是个不错的博文!publicclassDbLinkedList{//定义内部类,用作链表的节点privateclassNode{Nodepre;//指向前一个节点 …… 阅读全文
本章讲顺序表的应用之大整数求和。java中int,long,float,double都有他们自己的精度值,如果超过精度就没办法进行运算了。这里可以用顺序表进行大整数运算。下面上代码看具体案例,进行解析:package SequenceList;public class LargeIntegerSum { public int[] add(int aa[],int bb[]){ in …… 阅读全文
利用java中单链表进行一元多项式求和,下面直接看案例分析:package LinkedList;import LinkedList.Elem.Node;public class LinkedAdd { public Node add(Elem e1,Elem e2){ Node pre=e1.getNode(); Node qre=e2.getNode(); Node p= …… 阅读全文
今天介绍一下数据结构中的栈。栈实现和线性表实现差不多都是有两种实现方式,一种是顺序栈,另一种就是链式栈。下面先介绍一下顺序栈的实现方式:package stack;import java.util.Arrays;/** * @ClassName: ArrayStack * @Description: 顺序栈 * @date 2016年6月2日 下午21:01 * @param …… 阅读全文