我觉得答案是:算但是有一点楼主需要明确:如果你真的懂了逻辑,怎么可能写不出来代码呢有时候了解和掌握差别是很大的,反过来想,你写不出来代码,肯定是对这个算法或者数据结构哪儿还不熟悉呗比如说小顶堆,只要说每个子树都是小顶堆的二叉树就是小顶堆,似乎就掌握了逻辑?但是你真的想明白了吗?想明白了,也就是10几行代码的事儿对不对,这不需要背。或者说平衡二叉树,为什么要平衡,不同的平衡树区别主要在如何调整这棵树上,那这些不同的调整算法带来的差异是什么,为什么有些场景适用于红黑树而有些场景适用于SBT或者其它,等等……对于平衡树代码量比较大(其实也就一百多行),但是核心的调整算法你如果都写不出来,你又怎么能说掌握了逻辑呢?这就像好多人在网上问:为什么大公司只要学历高不要能力高这其实挺可笑,学历高是国家承认的能力高,而他所谓的能力高是他自认为的能力高,和以上一个道理
我觉得答案是:算
但是有一点楼主需要明确:如果你真的懂了逻辑,怎么可能写不出来代码呢
有时候了解和掌握差别是很大的,反过来想,你写不出来代码,肯定是对这个算法或者数据结构哪儿还不熟悉呗
比如说小顶堆,只要说每个子树都是小顶堆的二叉树就是小顶堆,似乎就掌握了逻辑?但是你真的想明白了吗?想明白了,也就是10几行代码的事儿对不对,这不需要背。
或者说平衡二叉树,为什么要平衡,不同的平衡树区别主要在如何调整这棵树上,那这些不同的调整算法带来的差异是什么,为什么有些场景适用于红黑树而有些场景适用于SBT或者其它,等等……对于平衡树代码量比较大(其实也就一百多行),但是核心的调整算法你如果都写不出来,你又怎么能说掌握了逻辑呢?
这就像好多人在网上问:为什么大公司只要学历高不要能力高
这其实挺可笑,学历高是国家承认的能力高,而他所谓的能力高是他自认为的能力高,和以上一个道理