伴学笔记3|豆包MarsCode AI刷题

99 阅读3分钟

《小 E 的怪物挑战:学习方法与心得》 在学习编程的道路上,如同小 E 踏上怪物挑战之旅一般,充满了未知与挑战。以 MarsCode AI 刷题题库中的一道数据结构相关题目为例,来分享我的学习历程与感悟。 题目解析:这道题是关于二叉树的遍历,要求实现先序遍历二叉树并输出节点值。思路上,先序遍历遵循根节点 - 左子树 - 右子树的顺序。可以使用递归的方法轻松实现,递归函数先访问当前根节点,然后递归调用自身处理左子树,最后处理右子树。从图解来看,二叉树就像一个家族族谱,根节点是祖先,左右子树是后代分支,先序遍历就是按照特定顺序依次访问家族成员。代码如下: class TreeNode: def init(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right

def preorderTraversal(root): result = [] def preorder(root): if root: result.append(root.val) preorder(root.left) preorder(root.right) preorder(root) return result 知识总结:在解决这道题的过程中,我深刻理解了递归在处理树结构数据时的强大之处。递归就像是一个智能的向导,它能自动深入到树的各个层级进行操作。对于入门同学,一定要先透彻理解递归的执行逻辑,不要被其看似复杂的调用过程吓倒。可以通过手动模拟递归过程,比如画函数调用栈的方式,来清晰地看到每一步的操作。 学习计划:首先,制定刷题计划要依据自己的基础和目标。如果是初学者,可以从简单的数组、链表题目开始,每天安排固定的刷题时间,比如两小时,先集中精力攻克一个知识点相关的题目。对于错题,不能仅仅看答案,要深入分析错误原因。比如这道二叉树遍历题,如果出错,要检查是递归逻辑理解错误,还是代码细节如节点访问顺序出错。建立错题本,定期回顾错题,重新做一遍并思考是否真正掌握。 工具运用:将 MarsCode AI 刷题功能与在线学习平台相结合。例如,在刷题遇到困难时,可以到一些知名的编程学习论坛上搜索相关讨论,看看其他学习者的思路和解决方案,拓宽自己的视野。同时,可以利用一些可视化工具辅助理解数据结构,如将二叉树结构以图形界面展示出来,这样能更直观地看到遍历过程。此外,还可以结合一些编程书籍,在刷题之余系统地学习相关理论知识,加深对知识点的理解,让 AI 刷题成为整个学习体系中的有力实践环节,全方位提升编程能力。