![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
墓锦天
这个作者很懒,什么都没留下…
展开
-
第一章 数据结构概述
第一章 数据结构概述算法的概念算法的特征算法的优劣依据时间复杂度(Time Complexity)时间复杂度的计算空间复杂度(Space Complexity)。算法的概念算法:计算机解题的过程。算法的特征1.输入2.输出3.可行性4.有穷性5.确定性算法的优劣依据时间复杂度(Time Complexity)一个算法花费的时间和算法中的语句的执行次数成正比。时间...原创 2019-04-16 20:45:52 · 130 阅读 · 0 评论 -
第二章 线性表概述
线性表概述线性表概念:特点顺序表链表-链式存储结构线性表概念:n个数据类型相同元素的有限序列。特点1.相同的数据类型:原因:相同的数据类型在内存中占用相同的内存空间,以便于后续的查询定位。2.序列(顺序性)在线性表中相邻的元素之间存在着顺序关系唯一没有直接前继的元素为a[0] ,称为表头唯一没有直接后继的元素为a[n-1],称为表尾a[i]是 a[i+1]的直接前继...原创 2019-04-16 20:51:56 · 107 阅读 · 0 评论 -
第三章 顺序表--ArrayList源码分析
ArrayList源码分析顺序表ArrayList分析顺序表ArrayList分析底层是数组实现的,但是长度是可以变话的,元素是Object类型的Arrays.copyOf();产生的是一个新的数组。数组的元素个数是length;Array List元素个数是size();因为底层是数组扩容实现的,扩容的长度是按公式固定增长的。List 接口 publi...原创 2019-04-16 20:56:41 · 151 阅读 · 0 评论 -
第四章 链表 LinkedList代码分析
LinkedList代码分析LinkedList分析codeLinkedList分析链表:一系列储存数据元素的单元通过指针串联起来形成的,每个元素至少包括两个域,一个域存储数据,另一个域是指向其他单元的指针,这样的存储单元通常称为节点(node)。单链表特点:只能通过前驱节点找到后继节点,不能通过后继节点直接找到前驱节点为了使程序更加简洁,我们通常会在单链表的最前面添加一个哑元...原创 2019-04-16 21:00:30 · 82 阅读 · 0 评论 -
第五章 栈和队列
栈和队列栈概念特点栈的存储结构顺序栈链栈队列概念顺序队列链式队列双端队列deque(double ended queue)代码分析栈概念栈:又称堆栈,是运算受限的线性表。仅允许在表的一端插入和删除操作,不允许在其他任何位置进行插入、查找、删除等操作。表中进行插入、删除操作的一端称为栈顶,栈顶保存的元素称为栈顶元素,相对的,表的另一端称为栈底。当栈中没有元素的时称为空栈。...原创 2019-04-17 16:37:53 · 100 阅读 · 0 评论 -
第八章 图
图图结构图的存储结构图的遍历图结构图是由网状数据结构,非空的顶点集合和一个描述顶点之间关系的集合。单向图,双向图加权图:在实际应用中,图不但需要表示元素之间是否存在某种关系,而且图的边往往与具有一定实际意义的数有关,每条边都与它相关的实数称为权图的存储结构邻接矩阵:二维数组邻接表:链表图的遍历从图中的某个顶点出发,按某种方法对图中所有顶点访问,且仅访问一次图的遍历...原创 2019-04-26 19:37:00 · 175 阅读 · 0 评论 -
第六章 二叉树基础知识
二叉树基础知识结点的度和树的度结点的层次和树的高度(深度)父亲,儿子和兄弟祖先,子孙和堂兄弟有序树,m叉树,森林二叉树概念满二叉树完全二叉树二叉树的性质二叉树的存储结构结点的度和树的度结点拥有子树的数目称为该结点的度(一个节点分叉的数量)度为0的结点称为叶子或者终端结点度不为0的结点称为非终端结点或分支结点,除了根之外的分支结点也称为内部结点树内各结点度的最大值称为树的度(最多的分结点...原创 2019-04-20 11:19:18 · 241 阅读 · 0 评论 -
第七章 二叉树源码分析
二叉树源码分析思路分析思路分析二叉树是链表实现的,一个节点要存一个data和两个子节点的地址(1) 定义节点类Node,三个成员变量 value,left,right(节点之间的指向关系是通过Node类实现的)(2)定义二叉树接口,定义需要实现的抽象方法...原创 2019-04-25 08:24:37 · 413 阅读 · 0 评论