两棵树,你砍哪一棵?

老教授问:“如果你去山上砍树,正好面前有两棵树,一棵粗,另一棵细,你会砍哪一棵?”

问题一出,大家都说:“当然砍那棵粗的了。”

老教授一笑,说:“那棵粗的不过是一棵普通的杨树,而那棵细的却是红松,现在你们会砍哪一棵?”

我们一想,红松比较珍贵,就说:“当然砍红松了,杨树又不值钱!”

老教授带着不变的微笑看着我们,问:“那如果杨树是笔直的,而红松却七歪八扭,你们会砍哪一棵?”

我们觉得有些疑惑,就说:“如果这样的话,还是砍杨树。红松弯弯曲曲的,什么都做不了!”

老教授目光闪烁着,我们猜想他又要加条件了,果然,他说:“杨树虽然笔直,可由于年头太久,中间大多空了,这时,你们会砍哪一棵?”

虽然搞不懂老教授的葫芦里卖的什么药,我们还是从他所给的条件出发,说:“那还是砍红松,杨树中间空了,更没有用!”

老教授紧接着问:“可是红松虽然不是中空的,但它扭曲得太厉害,砍起来非常困难,你们会砍哪一棵?”

我们索性也不去考虑他到底想得出什么结论,就说:“那就砍杨树。同样没啥大用,当然挑容易砍的砍了!”

老教授不容喘息地又问:“可是杨树之上有个鸟巢,几只幼鸟正躲在巢中,你会砍哪一棵?”

终于,有人问:“教授,您到底想告诉我们什么?测试些什么呢?”

老教授收起笑容,说:“你们怎么就没人问问自己,到底为什么砍树呢?虽然我的条件不断变化,可是最终结果取决于你们最初的动机。如果想要取柴,你就砍杨树;想做工艺品,就砍红松。你们当然不会无缘无故提着斧头上山砍树了!”

这个故事告诉我们:一个人,只有心中先有了目标,做事的时候才不会被各种条件和现象迷惑。你的目标明确了吗?想清楚了,那就加油吧~

本想追求全方位收获之圆满人生,中途又被诱惑去单一追求,悲哀!坚守梦想是一种品质,可贵的品质!想想自己坚持了吗?

时间: 2024-08-28 05:14:30

两棵树,你砍哪一棵?的相关文章

判断一棵树是否是另一棵树的子树

问题 判断一棵树是否是另一棵树的子树,如图 思路 问题分两步: 找值相同的根结点(遍历解决) 判断两结点是否包含(递归:值.左孩子.右孩子分别相同) 代码 bool IsPart(TreeNode *root1, TreeNode *root2) { if (root2 == NULL) return true; if (root1 == NULL) return false; if (root1->val != root2->val) return false; return IsPart(

二棵树某两个节点的公共祖先。

1. 如果是有parent指针的树,可以转化成 求两个链表第一个公共节点的问题. 对于无parent指针普通二叉树(假定这两个节点一定在树中,否则需要先遍历一边树查找是否存在该节点) 1. (剑指offer的解法),先用一定的空间记录从根节点到两个节点各自的路径,然后找这两个路径最后一个相交的节点. 2.  CC150,递归求解. TreeNode commonAncestor(TreeNode root, TreeNode p, TreeNode q){ } 二棵树某两个节点的公共祖先.,布布

四棵树怎么种才能使任意两颗之间距离相等

1.从宏观来看,把这四颗树看成四个质点 第一种办法是把它们种在一起,这样两两之间距离都为0: 第二种办法是使它们形成一个三棱锥,比如可以在山顶种一棵树,在山脚分三个方位种三棵树:或者在坑底种一棵树,坑外面分别种三棵树. 2.从微观来看,这四颗树都是有形状的,那么重点就在于他们之间的“距离”怎么定义. 第一.如果这四颗树不是笔直(树干长歪了,考虑树冠.枝干和叶子)的话,那么需要根据它们具体的形状来给出具体的解决方案,有兴趣的同学可以由此开发一个仿生数学模型: 第二.如果这四颗树都是笔直的,那么它们

【LeetCode-面试算法经典-Java实现】【100-Same Tree(两棵树是否相同)】

[100-Same Tree(两棵树是否相同)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally identical and the nodes have the same value. 题目大

数据结构 && ACM :比较两棵树是否相等。

题目: 有如下数据结构: typedef struct TreeNode{ char c; TreeNode *leftChild; TreeNode *rightChild; }; 现在实现函数:int CompTree(TreeNode *tree1, TreeNode *tree2); 比较两棵树是否相等 代码: typedef struct TreeNode{ char c; TreeNode *leftChild; TreeNode *rightChild; }; //两棵树相等的话返

LeetCode——Same Tree(判断两棵树是否相同)

问题: Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal if they are structurally identical and the nodes have the same value.   分析: 考虑使用深度优先遍历的方法,同时遍历两棵树,遇到不等的就返回. 代码如下: /** * Definition f

element ui改写实现两棵树

使用element ui组件库实现一个table的两棵树的效果 效果如下,左边树自动展开一级,右边树默认显示楼层,然后可以一个个展开 代码如下 <el-table :data="relativeData" :fit="isFit" height="700px" :row-style="showTr" :row-class-name="tableRowClassName" :header-row-cla

[51nod1325]两棵树的问题

description 题面 solution 点分治+最小割. 点分必选的重心,再在树上dfs判交,转化为最大权闭合子图. 可以做\(k\)棵树的情况. code #include<iostream> #include<cstdlib> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<queue> #defin

比较两棵二叉树--(比较两棵二叉树是否相同/判断一棵二叉树是否是另一棵二叉树的子树)

一,问题介绍 本文章讨论两个问题: ①如何判断两棵二叉树的结构是一样的.对应的每个结点都有着相同的值.--即判断两棵二叉树是一样的 ②给定两棵二叉树,如何判断一棵二叉树是另一棵二叉树的子结构 ③给定两棵二叉树,如何判断一棵二叉树是另一棵二叉树的子树 注意,子结点与子树有那么一点点不同. 上面的二叉树B 是二叉树A 的子结构,但是不能说是二叉树A的子树.但是二叉树C 是 二叉树A的子树. 二,问题分析 1,如何判断两棵二叉树的结构是一样的.且对应的每个结点都有着相同的值. 对于①如何判断两棵二叉树