问题描述
大家好,今天在做一个链表的排序实现,用的语言是JAVA,有几点疑问,跪求高手解答:1.请问链表的排序用哪种排序算法比较好?合并,快排,插入?2.可否将结点的数据部分(int,char...)放入一个数组,将数组排序,之后再将数据写回链表?3.再弱弱的问一下,当在面试时遇到此类问题,可否直接调用JAVA自带的链表排序函数,那样的话就easy多了,望有面试经验的兄弟们解答下。不胜感激!
解决方案
解决方案二:
1.我觉得插入排序比较合适,因为合并和快排都需要序列的顺序信息,对于链表这个需要遍历一遍才能得到,这就相对数组多了O(n)的时间复杂度。具体可以参考2.这么做就背离了问题的初衷。。。3.当然可以,类库的使用也证明了能力嘛
解决方案三:
1.不同的情况下选择吧,快速排序在一般情况下认为是最快的,但是数据量大的话,堆排序就又有优势了.2.多此一举3.面试肯定是考查你数据结构知识,你用已经实现的,还需要考你吗?当然实际开发中肯定用已经造好的轮子了。就像别人问你怎么来实现文件的复制?你回答:右键,复制,然后粘贴你肯定嗝屁,不是么?
解决方案四:
3公司估计是想考你的数据结构能力你要是用类库什么都说明不了
时间: 2024-09-19 10:02:56