在我大一的时候,最不擅长的数据结构就是树和图,这两个不擅长,基本上宣告了我数据结构的死刑,让我试试链表,简单的二叉树还行,整起什么AVL,RBTree等等基本上人就没了。于是我心里给自己的说法是,没关系,反正大家也可能做不出来。于是就给自己设定了一个我做不出来的锁定技,每次到上机课,我都挺难受的,最后形成了一个恶性循环。
做不出===>害怕===>不敢动手===>做不出===>害怕===>不敢动手……
最近在重温的时候,我发现AVL树和RBTree也没有想像中这么难,基本上是一周解决一个。尽管一开始存在一些概念上的不理解,最终还是顺利完成了,实际动手操作了一下,在这个过程的确遇到了一些问题,例如左旋,右旋,先左旋后右旋,红黑树的平衡过程等等,但是自己用笔在纸上一步一步画的时候,发现其实并没有那么难,只是我心里觉得好难,一觉得难,就不想去动手 (捂脸),一来二去就养成了这种眼高手低的情况,而动手去实践的时候,完全没有觉得这个好难好难的痛感(当然也没有这个非常非常简单的想法)。
所以在实际操作中,不要给自己去设限,新接触的东西暂时做不出来不要紧,去理解它,去掌握它,大多数人都可以做出来的东西,凭什么我不行呢,只是没有去做而已。
- 去做也不能盲目的直接上手开始搞,至少得先明白概念,掌握基础的理论,如果连左旋,右旋发生在什么时候都不知道,这要能写出来代码我是不信的。
- 不能眼高手低,做到一半就不搞了,把简单的弄完了,一到困难的就糊弄自己说搞完了,这是不行的。
同样的情况也可以拓展到生活中,工作中。我们可以任意(合法合规)的去发挥自己的想法💡,可以去想想这个任务为什么是这样的,还有其他更好的方式么,以后还会变更么,如果有变更怎么快速支撑。也不把自己局限到眼前的一亩三分地,站到更高的视角去看待问题,还有更好的方式去支撑目前的问题么,可以通过其他的手段快速解决现有的问题么。
假设我是一个拥有十分能力的人,如果一直只做十分的事是可以做得好的,低于十分的则是在舒适区中,不能一开始就给自己一百分的任务,这样只会给自己压力,欺骗自己真的不行。但是可以给自己十三分,十五分的任务,这种任务努努力是可以做到的,做到了就是成长,这次是十五,下次是十八,下下次是二十一,这样的成果就可以给自己一个正向反馈,最后期待所有人都有💯分的能力,去做一百二十分的事。
2021-08-21