avl和红黑树的两个面试相关问题
来源:2-11 不能白板编程红黑树就是基础差?别扯了。
Mr__Xin
2022-01-28 21:38:49
首先要感谢老师,我认为老师讲的比算法导论明白易懂很多。
其次就是我的一个同事,去年(21年)底去腾讯面试,被问及了红黑树的删除算法(但是也要承认,就我经历而言,确实这块涉及不多)。听老师这么一说,似乎手写红黑树这种操作不太重要,但是这架不住有些企业会考,这包括一些著名企业。尤其是现在竞争如此激烈,用人单位有较大的选择余地,知名大厂似乎在把门槛逐渐的提高。那么考虑到如今的就业形势,请问老师认为现在是否还是不需要掌握这种较难数据结构的实现?
另外对于avl和红黑树的非递归操作,老师认为是否需要掌握?算法导论上的非递归实现还涉及一个parent指针和哨兵节点,我个人认为还是有点复杂,不知面试是否会涉及。谢谢。
1回答
红黑树的删除操作和 AVL 树以及红黑树的非递归操作,都不需要掌握,肯定不会考。如果考了,那就是你碰到了极品面试官,或者在这个岗位根本没有想要人。
实际上,对于这两种数据结构,不要说删除操作了,在具体实现层面上任何操作都不太应该考白板,而主要是概念上的问题。对此,我曾写过一篇文章,可以参考这里:https://mp.weixin.qq.com/s?__biz=MzU4NTIxODYwMQ==&mid=2247484057&idx=1&sn=c1df69aea5b6fc773e1dbb8cc25523af&chksm=fd8caddfcafb24c96d43df6b37f02b6e1fd20993a4dd5bda58dbad7088554641cd88d8a8eef0&token=371133589&lang=zh_CN#rd
继续加油!:)
相似问题