技术栈

主页 > 前端开发 >

算法学习——线性表

技术栈 - 中国领先的IT技术门户

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

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

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

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


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


3.魔术师发牌。

4.拉丁方正

(注意循坏链表的创建)

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

(注意双向链表的创建)

责任编辑:admin  二维码分享:
本文标签: 节点链表单链指向指针复杂度
点击我更换图片

评论列表