随笔分类 - 数据结构
摘要:导读 文本总结了数据结构中常见的各种树,前面的文章中我们介绍过树和二叉树,比如用于实现平衡二叉树的AVL树和红黑树、B树、B-树、B+树、B*树、R树及字典树Trie树。 目录 1、平衡二叉树之AVL树 2、平衡二叉树之红黑树 一、平衡二叉树之AVL树 参考博客:https://www.cnblog
阅读全文
摘要:导读 二叉树是一种很常见的数据结构,但要注意的是,二叉树并不是树的特殊情况,二叉树与树是两种不一样的数据结构。 目录 一、 二叉树的定义 二、二叉树为何不是特殊的树 三、二叉树的五种基本形态 四、二叉树相关术语 五、二叉树的主要性质(6个) 六、二叉树的存储结构(2种) 七、二叉树的遍历算法(4种)
阅读全文
摘要:导读 树是一种非线性的数据结构,树结构的应用十分广泛,在很多算法中都有应用。本文对树这种数据结构进行了总结。 目录 1、树的定义 2、树的基本术语 3、树的存储结构(3种) 4、树和森林转化为二叉树 5、树和森林的遍历(树两种、森林两种) 树的定义 树结构可以说是我们日常生活中“树”的一种抽象,树只
阅读全文
摘要:导读 栈和队列是有操作限制的线性表。 目录 1、队列的概念、特点、存储结构。 2、栈队列的java实现。 概念 队列是一种在一端进行插入,而在另一端进行删除的线性表。1、队列的插入端称为队尾;队列的删除端称为队头。(好比火车进隧道)2、队列的插入操作称为入队(push),删除操作称为出队(pop)。
阅读全文
摘要:导读 栈和队列是有操作限制的线性表。 目录 1、栈的概念、特点、存储结构。 2、栈的java实现及运用。 概念 栈是一种只允许在一端进行插入或删除的线性表。 1、栈的操作端通常被称为栈顶,另一端被称为栈底。2、栈的插入操作称为进栈(压栈|push);栈删除操作称为出栈(弹栈|pop)。 特点 栈就像
阅读全文
摘要:导读 线性表是最基本最常见的一种数据结构。线性表是从逻辑上定义的和非线性相对的一种数据结构。线性结构中的元素之间是一对一的关系,而非线性结构中每个元素可能与其他元素有零个或多个关系。 线性表(linear list ):线性表是具有相同特性的数据元素的有限序列。在线性表中,只有一个表头元素和一个表尾
阅读全文
摘要:导读 每个程序解决问题时都可能有不同的实现方法,也就是我们常说的算法,而不同的算法对计算机资源的占用都不一样,因此我们常用算法复杂度来衡量一个算法的优劣程度。 算法复杂度是对程序计算机资源占的度量,这些资源主要包括时间资源和内存资源,因此算法复杂度又分为时间复杂度(时间资源的度量)和空间复杂度(内存
阅读全文
浙公网安备 33010602011771号