数据结构
一人一尾
这个作者很懒,什么都没留下…
展开
-
Java数据结构—栈
什么是栈栈是限定仅在表尾进行插入或删除操作的线性表栈的特点栈是一种操作受限的线性表修改是按先进后出的原则栈在Java中的使用基本数据类型、局部变量存放在栈中对象的引用变量存放在栈中数据一旦执行完毕,栈内存就会释放栈内存里的数据,没有初始化,需要手动设置栈的基本操作初始化栈:public Stack...原创 2019-04-15 19:00:03 · 275 阅读 · 0 评论 -
时间复杂度:O(1)、O(n)、O(n^2)、O(logn) 哪种情况下会出现
时间复杂度往往用来衡量一个算法的好坏程度,这里就来介绍一下如何推导时间复杂度即各种时间复杂度出现的情况。如何推导时间复杂度?时间复杂度的推导遵循3个原则:如果运行时间跟n无关,是常数,则时间复杂度是O(1);只保留时间函数中的最高阶项;去掉高阶项前面的系数;O(1)出现情况若运行时间跟n的取值无关,即无论n取什么值,我的运行时间都不会变,则时间复杂度为O(1)public vo...原创 2019-04-12 22:04:21 · 6582 阅读 · 1 评论 -
Java数据结构—队列
什么是队列队列是一种先进先出的线性表,只允许在表的一端进行插入,而在另一端删除元素。队列的示意图队列的分类单链队列双端队列循环队列队列实现1.单链队列...原创 2019-04-16 15:04:19 · 130 阅读 · 0 评论 -
Java数据结构—顺序表
什么叫做顺序表用一组地址连续的存储单元依次存储线性表的数据元素。顺序表的特点逻辑结构上相邻,物理结构上也相邻。存在唯一的一个被称作“第一个”的元素,也存在唯一一个被称作“最后一个”的元素。除第一个以外,集合中的每个数据元素均只有一个前驱,除最后一个之外,集合中每个数据元素均只有一个后继。顺序表的优点和缺点优点:1.空间利用率高,不存在浪费,因为是连续的一段存储空间。...原创 2019-04-13 20:04:47 · 360 阅读 · 0 评论 -
Java数据结构—链表
什么是链表?用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。链表的特点非随机存储分为数据域和指针域逻辑位置相邻,物理位置不一定相邻链表分类单链表循环链表双向链表单链表除了存储其本身的信息之外,还需存储一个指示其直接后继的信息。结点中只包含一个指针域。单链表实现class SingleLinkList{ private int...原创 2019-04-14 22:23:34 · 83 阅读 · 0 评论 -
树、二叉树、满二叉树、完全二叉树
树的特点有且仅有一个根结点除根结点外,有且只有一个直接前驱有零个或多个直接后继结点的度和树的深度结点的度(Degree):结点拥有的子树数。如上图中,A的度为3树的深度(Depth):树中结点的最大层次称为树的深度。如上图,树的深度为4二叉树的特点每个结点至多只有两颗子树二叉树的子树有左右之分,其次序不能任意颠倒下图是二叉树的5种基本形态:二叉树的性质...原创 2019-04-19 20:07:27 · 220 阅读 · 0 评论