Code前端首页关于Code前端联系我们

有用的算法技能 4. 设置哨兵位

terry 2年前 (2023-09-27) 阅读数 64 #数据结构与算法

4。放哨兵位

关系到链表的问题,我们经常放一个主题,而这个主题索引不存储有效数据,为了便于工作,而这个头指针可以称为哨兵位。 。

例如,当我们要删除表头的第一个节点时,如果没有设置哨兵位,则删除第二个节点的操作会有所不同。但我们构建了哨兵,所以删除第一个节点和删除第二个节点是同样的工作,不需要额外的尝试。当然,添加节点也是同样的道理。

有时候我们使用数组的时候,也可以设置哨兵,使用arr[0]作为哨兵。比如当你要判断两个相邻元素是否相同时,放上哨兵就不怕跨界问题了。可以直接arr[i] == arr[i-1]吗?当i = 0时,不要害怕越界。

当然,我只是举个例子。还有很多特殊的应用,比如输入类型、循环链表等。

作者:美丽的土地
来源:知乎

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门