摘要:
树的非递归遍历 思路 观察如图的过程 我们可以发现其实遍历的过程都是一样的,不一样是处理各个节点的时机 + 前序遍历是第一次访问到节点时处理节点 + 中序遍历是第二次访问到节点时处理节点 + 后序遍历是第三次访问到节点时处理节点 那么事情就变的简单了我们只要用栈来保存访问的节点即可,然后根据第几次访 阅读全文
摘要:
这是慕课数据结构的一道讨论题 思路 首先 要利用 两个栈实现队列就是要将一个数据从一个栈弹出后压入另一个栈 基于这个想法 当有两个栈时大小为m 和 n m n时 要让所有元素都经过两个栈的push和pop操作 那么重要的就是这个队列大小了 考虑当队列最大容量是 m 时,假设此时有m 次pop操作那么 阅读全文
摘要:
这是PTA上的一道数据结构题目 02-线性结构2 一元多项式的乘法与加法运算(20 point(s)) 本身题目难道并不大,但是我一直没理解什么是零多项式,以为是"系数为零的项"就叫零多项式 每次都要把系数为零的项输出为0 0...... 虽然写错后,猜测自己一定是把题目理解错了,但是竟然在反复看了 阅读全文
摘要:
终于赶在deadline之前把它做完了 这一周主要的知识就是 pattern matching tail recursion,tail position 一般递归优化成尾递归 case expression 用 nested pattern matching 去写 elegant的代码 以及用_来匹 阅读全文
摘要:
(1)思路 就是简单的排序不过这里数据比较弱,用cin和cout没有超时 (2) 也可以直接将时间转换成秒来比较大小并找到最找来的人的编号,和最晚走的人的编号 阅读全文
摘要:
(1)思路 用vector保存两个多项式结构 将其中一个的所有元素压入一个结果vecotor,然后另一个vector对每个元素进行迭代 一旦找到指数相同相的就改变结果vector中项的系数 注意题目中要求 where K is the number of nonzero terms in the p 阅读全文
摘要:
这是慕课的一门编译原理的网课的第一次实践作业 github 地址如下 sumlanguage 首先我们将文法翻译成数据结构 将目标机器上的指令也翻译成数据结构 如下是对sumlanguage的文法的翻译 该语言有两种具体表达式,一种是 一个int表达式 另一种是sum表达式 以及一种抽象的表达式 其 阅读全文
摘要:
这题就是对输出的格式化,注意这里是从后数每三个输出一个逗号,考虑到先进后出的关系这里用栈保存一下 阅读全文