1
이것은 이중 링크 목록에 대한 Java에서 삽입 정렬의 내 구현입니다. 나는 많은 가치를 검사하고 저에게 정확한 산출을 준다. 내 질문은 :삽입 정렬 내 구현
- 나는 O (n)이
- 이 최적화 할 수있는 것은이하는 알고리즘 시간을 계산하는 방법을 몰라? 누구든지 더 최적화 된 코드를 가리킬 수 있습니까?
참고 : 그 연결리스트의 시작 지점 코드는 감시 림프절을 사용 즉, 감시 node.next 노드를 감시하기 위해 연결리스트와 머리 점의 마지막 노드에 연결리스트 및 감시 node.PREV 지점의 노드를 시작하기 포인트 .
public void sortInsertionAsce(){
DListNode marker,aheadOfCurrent;;
DListNode current = head.getNext();
aheadOfCurrent = current.getNext();
marker=current;
while(aheadOfCurrent.getNext()!=current){
if(marker.getItem()>aheadOfCurrent.getItem()){
swap(aheadOfCurrent,marker);
marker=aheadOfCurrent;
while(aheadOfCurrent.getPrev()!=current){
aheadOfCurrent=aheadOfCurrent.getPrev();
if(aheadOfCurrent.getPrev().getItem()>aheadOfCurrent.getItem()){
swap(aheadOfCurrent.getPrev(),aheadOfCurrent);
}
}
aheadOfCurrent=marker;
}
marker=aheadOfCurrent;
aheadOfCurrent=aheadOfCurrent.getNext();
}
}
나는 링크 된 목록을 처음 사용하며 다른 사람으로부터 솔직한 의견을 원했습니다. 이 코드는 작동합니다. 이것이 최적화 될 수 있는지 알고 싶었습니다. – sreeprasad
[CodeReview] (http://codereview.stackexchange.com/)에 대한 질문입니다. –
@LeeAllan이 질문은 4 살이라는 것을 알고 있습니까? 당신이 코드 검토를 추천하는 데 조금 늦은 것 같아요. –