avatar
FB面试题一道的follow up# JobHunting - 待字闺中
l*4
1
题目很简单:
1. 给一个linked list, 求长度
2. 实现在linked list中append一个节点
3. 实现在linked list中prepend一个节点
4. 利用上面的函数,实现将一个数组变成linked list.
但是有一个follow up:
5. 要求提高4的性能。
在哪些方面能提高?4已经是线性复杂度了
avatar
b*5
2
我觉得时append和prepend同时来?

【在 l***4 的大作中提到】
: 题目很简单:
: 1. 给一个linked list, 求长度
: 2. 实现在linked list中append一个节点
: 3. 实现在linked list中prepend一个节点
: 4. 利用上面的函数,实现将一个数组变成linked list.
: 但是有一个follow up:
: 5. 要求提高4的性能。
: 在哪些方面能提高?4已经是线性复杂度了

avatar
t*3
3
4要用1、2、3的函数,可能你之前的三个方法的性能有问题

【在 l***4 的大作中提到】
: 题目很简单:
: 1. 给一个linked list, 求长度
: 2. 实现在linked list中append一个节点
: 3. 实现在linked list中prepend一个节点
: 4. 利用上面的函数,实现将一个数组变成linked list.
: 但是有一个follow up:
: 5. 要求提高4的性能。
: 在哪些方面能提高?4已经是线性复杂度了

avatar
b*5
4
为什么要用1,2,3? 傻逼点的话, 不就一个个append?

【在 t*****3 的大作中提到】
: 4要用1、2、3的函数,可能你之前的三个方法的性能有问题
avatar
p*u
5
repost:
they might want u 2 use vector to construct this linked list:
1: a vector is cache friendly;
2. O(1) random access: append is O(1) too, not O(n);

【在 b**********5 的大作中提到】
: 为什么要用1,2,3? 傻逼点的话, 不就一个个append?
avatar
l*4
6
我能想到的是在链表类里面keep一个尾节点 这样append也是O1
同时prepend和append应该也可行

★ 发自iPhone App: ChineseWeb 1.0.2

【在 b**********5 的大作中提到】
: 为什么要用1,2,3? 傻逼点的话, 不就一个个append?
avatar
l*4
7
感谢分享

★ 发自iPhone App: ChineseWeb 1.0.2

【在 p*u 的大作中提到】
: repost:
: they might want u 2 use vector to construct this linked list:
: 1: a vector is cache friendly;
: 2. O(1) random access: append is O(1) too, not O(n);

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。