数据结构与算法
数据结构与算法
莫成
这个作者很懒,什么都没留下…
展开
-
LC 删除排序数组中的重复项
class Solution {public: int removeDuplicates(vector<int>& nums) { int size = nums.size(); if (size <= 1) { return size; } int left = 0; for (int right = 1; right < size; ++right) ...原创 2021-12-29 11:10:07 · 167 阅读 · 0 评论 -
二叉树的遍历
遍历二叉树就是按一定的次序,系统地访问树中的所有结点,使每个结点恰好被访问一次。所谓访问结点,其含义是很广的,可以理解为对结点的增、删、修改等各种运算的抽象。在本节讨论中,假定访问结点即为输出结点数据域值。二叉树的遍历是最重要和最基本的运算,二叉树的许多操作都是以遍历为基础的。遍历二叉树的过程实际上就是按某种规律把二叉树的结点排成一个线性序列。由于二叉树是非线性结构,它的每个结点都可能有两个分支,也就是说一个结点可能有两个后继,所以,二叉树的遍历比较复杂,按照不同规则遍历得到的结果也就不同。另L、D、R原创 2021-08-07 19:47:43 · 204 阅读 · 0 评论 -
二叉树的存储结构 —— 链式存储
因为树型结构是非线性的结构,所以在存储器里表示树型结构的最自然的方法是链式存储。根据二叉树的特性,任何一个节点最多有左、右两棵子树,所以每个节点至少设有三个域:数据域和左、右指针域。其结点结构为:lchild data rchild 其中,lchild 是左孩子指针域,指向结点的左子树的根;data 是数据域;rchild是右孩子指针域,指向结点的右子树的根。这种存储结构又称为二叉链表。相应的类型说明为:typedef char DataType; // 数据的实际类型原创 2021-08-07 19:20:13 · 998 阅读 · 0 评论