
数据结构与算法
文章平均质量分 94
弥川
手持两把锟斤拷,口中疾呼烫烫烫
展开
-
面向对象建模
通常包含三个元素:参与者、通信连接(或者关联)和实际的用例,使用。UML 关系主要有:依赖、关联、聚合、组合、实现、继承。原创 2024-10-01 11:02:21 · 676 阅读 · 0 评论 -
栈混洗
摘自《数据结构(C++语言版)》 描述 考查三个栈A、B和S,其中A含有n个元素,自顶而下构成输入序列: { a1, a2, …, an } B和S初始为空。 若只允许通过S.push(A.pop())弹出栈A的顶元素并压入栈S中,或通过B.push(S.pop())弹出S的顶元素并压入栈B中,则在经过一系列这样的操作后,当栈A和S均为空时,原A中的元素应均已转入栈B。 此时,若将B中元素自底而上...原创 2020-03-26 21:43:02 · 1688 阅读 · 0 评论 -
二叉树演示系统
函数列表 对二叉树进行构造、销毁、创建、清空、判空、求深度、前中后序遍历、按层遍历,获得根结点、获得结点、结点赋值、获得双亲结点、获得左孩子结点、获得右孩子结点、获得左兄弟结点、获得右兄弟结点、插入子树和删除子树数据加载以及数据保存等操作。此外,为实现多树管理,还需定义多表遍历函数和线性表查询函数,为实现这些操作,需要对功能函数进行如下的定义。 (1)InitBiTree(T):初始条件是二叉树T...原创 2020-04-01 11:45:25 · 1261 阅读 · 0 评论 -
二叉树遍历 先序、中序、后序、层序
先序遍历 void preorder(TreeNode* root) { stack<TreeNode*> nodeStack; TreeNode* curNode = root while (curNode != NULL || !nodeStack.empty()){ while (curNode != NUL...原创 2020-04-22 23:41:28 · 150 阅读 · 0 评论