一个Java面试题目# JobHunting - 待字闺中l*h2013-03-03 08:031 楼print elements in the list in the reversed order efficiently:void printInReverseOrder(List values) {}what's the complexity?
r*h2013-03-03 08:034 楼递归就好了啊【在 l**h 的大作中提到】: print elements in the list in the reversed order efficiently:: void printInReverseOrder(List values) {}: what's the complexity?
c*a2013-03-03 08:035 楼这个不算dfs吗printInReverseOrder( listnode node){if(node==null) returnprintInReverseOrder(node.next)print(node.val)}
p*22013-03-03 08:036 楼题目没说是likedlist呀【在 c*****a 的大作中提到】: 这个不算dfs吗: printInReverseOrder( listnode node){: if(node==null) return: printInReverseOrder(node.next): print(node.val): }
c*a2013-03-03 08:037 楼如果用java list interface,我只懂arraylist, linkedlist如果arraylist就跟array没区别linkedlist的话,不清楚是什么implementation,doubly/singly?
p*22013-03-03 08:038 楼double的。【在 c*****a 的大作中提到】: 如果用java list interface,我只懂arraylist, linkedlist: 如果arraylist就跟array没区别: linkedlist的话,不清楚是什么implementation,doubly/singly?
j*72013-03-03 08:0310 楼O(n)void printInReverseOrder(List values){for(int i=values.size()-1;i>=0;i--){System.out.println(values.get(i));}}【在 l**h 的大作中提到】: print elements in the list in the reversed order efficiently:: void printInReverseOrder(List values) {}: what's the complexity?
l*h2013-03-03 08:0311 楼这个就是要考的点,因为传的是List,implementation可能是ArrayList,也可能是一个自己实现的single linked list, 你不能假设 get(i)是O(1).【在 j**7 的大作中提到】: : O(n): void printInReverseOrder(List values): {: for(int i=values.size()-1;i>=0;i--): {: System.out.println(values.get(i));: }: }
j*72013-03-03 08:0312 楼我以为List只能是ArrayList.【在 l**h 的大作中提到】: 这个就是要考的点,因为传的是List,implementation可能是ArrayList,也可能是一个: 自己实现的single linked list, 你不能假设 get(i)是O(1).
p*22013-03-03 08:0313 楼不过linkedlist也可以做到O(n)。【在 l**h 的大作中提到】: 这个就是要考的点,因为传的是List,implementation可能是ArrayList,也可能是一个: 自己实现的single linked list, 你不能假设 get(i)是O(1).
c*t2013-03-03 08:0316 楼嗯,dfs肯定要O(n) space. 感觉还不如干脆 toArray()弱问一下java LinkedList get(i)的 time complexity 是O(n)吧?那size()呢?【在 g**e 的大作中提到】: space也要O(n)了吧
g*e2013-03-03 08:0319 楼source code写的很清楚http://grepcode.com/file/repository.grepcode.com/java/root/jdk/【在 c********t 的大作中提到】: 嗯,dfs肯定要O(n) space. 感觉还不如干脆 toArray(): 弱问一下java LinkedList get(i)的 time complexity 是O(n)吧?那size()呢?
c*t2013-03-03 08:0323 楼我感觉没有general的O(1) space写法,但实际上无论api里arraylist, linkedlist,还是用户自己定义single or double linkedlist, 都可以做到O(1) space.【在 g**e 的大作中提到】: 我是说O(1) space O(n) time的方法