三种遍历的区别只在哪一点?
C++ 入门 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
手动写出一棵小树的前序遍历。
把访问根的语句挪到中间,就是中序,试着写一写。
这样的树查一个数快吗?
为什么算文件夹大小要用后序?
层序遍历为什么用队列而不是栈?
只有根节点的树高度是多少?
叶子节点怎么数?
这体现了什么思想?
地铁线路图是树还是图?
参考答案(家长):先根后左再右,递归下去即可。
参考答案(家长):什么时候访问根。
参考答案(家长):很快,每次比较就能排掉一半,类似二分。
参考答案(家长):三行顺序一换即可,其余不变。
参考答案(家长):要按到达顺序处理,正是先进先出。
参考答案(家长):得先知道每个子文件夹多大,才能加出总数。
参考答案(家长):没有孩子的就算一个,其余递归相加。
参考答案(家长):1。
参考答案(家长):图,因为可以换乘绕回来。
参考答案(家长):分治 —— 把大问题变成同样形式的小问题。
一百个点的图用表格要存多少格?
树上遍历要记吗?
医院分诊像普通队列还是优先队列?
它比"每次遍历找最小"快在哪?
要频繁查"某个数出现过没有",用什么?
动手写完整。
用队列实现。
5 个人报到 3 出列,最后剩谁?
这题该用什么结构?
怎么找出根节点?
参考答案(家长):不用,树没有环,不会绕回来。
参考答案(家长):一万格。
参考答案(家长):取一次只要 log 级的时间,遍历要走一遍全部。
参考答案(家长):优先队列,重症优先,不看谁先来。
参考答案(家长):用栈,注意配对时要检查类型是否一致。
参考答案(家长):集合或标记数组,一步就能查到。
参考答案(家长):4 号。可以画圈手动模拟验证。
参考答案(家长):来了就入队,服务就出队,输出出队顺序。
参考答案(家长):没有被任何节点当作孩子的那个。
参考答案(家长):映射存"单词到次数",最后转成列表排序。
为什么一上来就用复杂结构不好?
把你写的链表在纸上画出来。
从空栈里弹出会怎样?
广度优先搜索离不开哪个结构?
给每种写一句话概括。
做浏览器的前进后退,用什么?
手写一个能放 100 个数的栈。
用一个生活例子讲清什么是栈。
想想"发明一个结构"通常是为了什么?
列一张"结构—适用场景"对照表。
参考答案(家长):画出每个节点和指向,错误常常一眼可见。
参考答案(家长):写起来容易错,而且往往根本不需要。
参考答案(家长):队列。
参考答案(家长):不检查就会出错,所以弹出前要先判断是否为空。
参考答案(家长):两个栈,一个存后退一个存前进。
参考答案(家长):能说清特点和适用场景,才算真的掌握。
参考答案(家长):一摞盘子、一筒羽毛球都行,关键是说清"只能从一头取"。
参考答案(家长):一个数组加一个栈顶变量,四个操作:放、拿、看顶、判空。
参考答案(家长):自己整理的表,比看别人的记得牢。
参考答案(家长):为了让某种操作变快,代价往往是另一种操作变慢或更占空间。