101
101
5月前 · 5 人阅读

线性表分为:顺序表和链表

1.腾讯面试题(快速找到未知长度单链表的中间节点?)

普通算法:先遍历一个遍单链表以确定,链表长度,然后再次从头节点出发循环L/2次找到单链表的中间节点。时间复杂度为O(L+L/2)=O(3L/2)。

最有算法:设置两个指针,一个指针指向下个节点,一个指针指向下下个节点。当第二个节点指向末尾时,第一个节点刚好指向中间。时间复杂度为O(L/2)。


2.约瑟夫问题(41个人围成一圈,分别为1到41号,每隔两个人消失一个人,存活下来的号数?)


3.魔术师发牌。

4.拉丁方正

(注意循坏链表的创建)

5.输入任意数,遍历字母的顺序。

(注意双向链表的创建)

收藏 0
关键词: 节点 链表 单链 指向 指针 复杂度
评论