인 스 턴 스 를 통 해 자바 스 크 립 트 의 일반적인 정렬 알고리즘 을 분석 합 니 다.

거품 정렬
거품 정렬 은 우리 가 프로 그래 밍 알고리즘 에서 비교적 자주 사용 하 는 정렬 알고리즘 중 하나 로 학습 단계 에서 가장 이해 해 야 할 알고리즘 이기 때문에 우 리 는 첫 번 째 로 공부 합 니 다.
알고리즘 소개:
서로 인접 한 두 요 소 를 비교 하고 앞의 것 이 뒤의 것 보다 크 면 위 치 를 바꾼다.1 차 는 가장 큰 원 소 를 맨 뒤에 놓 았 다.매번 정렬 할 때마다 마지막 요소 가 가장 크기 때문에 그 다음 에 절차 1 에 따라 마지막 요 소 를 비교 하지 않 아 도 됩 니 다.

거품 알고리즘 개선:
이번 교환 이 발생 하면 트 루 로 표 지 를 설정 합 니 다.아니면 false.만약 이번에 교환 이 발생 하지 않 았 다 면,정렬 이 이미 완성 되 었 다 는 것 을 설명 한다.코드 는 다음 과 같 습 니 다:

만약 에 배열 의 길이 가 20 이 라면 앞의 10 자리 만 무질서 하 게 배열 되 고 뒤의 10 자 리 는 질서 가 있 으 며 모두 10 위 보다 크 기 때문에 첫 번 째 순 서 를 옮 겨 다 닐 때 교환 하 는 위 치 는 반드시 10 보다 적 을 것 이다.그리고 이 위치 뒤의 순 서 는 반드시 질서 가 있어 야 한다.우 리 는 이 위치 이전의 것 만 정렬 하면 된다.그래서 우 리 는 이 위 치 를 표시 하면 된다.즉,매번 스 캔 에서 마지막 으로 교환 하 는 위 치 를 기록 할 수 있 습 니 다.다음 스 캔 할 때 지난번 의 마지막 교환 위 치 를 스 캔 하면 됩 니 다.뒤의 것 은 모두 순서 가 정 해 져 있 기 때문에 더 이상 비교 할 필요 가 없습니다.코드 는 다음 과 같 습 니 다.

매번 순환 은 양쪽 에서 출발 하여 최대 와 최소 값 을 계산 합 니 다.코드 는 다음 과 같 습 니 다.

코드 3 을 바탕 으로 마지막 교환 위 치 를 스 캔 할 때마다 기록 합 니 다.다음 스 캔 할 때 마지막 교환 위 치 를 스 캔 하면 됩 니 다.같은 코드 2,코드 는 다음 과 같 습 니 다.

거품 정렬 다이어그램 데모:

빠 른 정렬
알고리즘 소개:
빠 른 정렬 은 거품 정렬 에 대한 개선 입 니 다.첫 번 째 정렬 시 데 이 터 를 두 부분 으로 나 누고 일 부 는 다른 부분의 모든 데이터 보다 작 습 니 다.그리고 재 귀적 호출 은 양쪽 에서 빠 른 정렬 을 실시한다.

그림%1 개의 캡 션 을 편 집 했 습 니 다.

정렬 선택
알고리즘 소개:
정렬 을 선택 하 는 것 은 알 수 없 는 데이터 공간 에서 가장 좋 은 공간 으로 선택 하 는 것 입 니 다.

정렬 그림 설명 선택:

삽입 정렬
알고리즘 소개:
첫 번 째 기본 정렬 된 요소 에서 다음 요 소 를 꺼 내기 시작 합 니 다.정렬 된 요소 시퀀스 에서 뒤로 스 캔 합 니 다.정렬 된 요소 가 꺼 낸 요소 보다 크 면 정렬 된 요소 에서 꺼 낸 요소 보다 작 거나 같은 요 소 를 찾 을 때 까지 각각 뒤로 이동 합 니 다.꺼 낸 요 소 를 뒤의 반복 단계 2 에 놓 습 니 다.

정렬 알고리즘 개선 삽입-이분법 정렬 삽입:

정렬 법 동적 그림 프 리 젠 테 이 션 삽입:

이상 은 4 가지 기본 적 인 정렬 방법 입 니 다.자 바스 크 립 트 의 정렬 알고리즘 은 아직도 많 습 니 다.이것 은 우리 4 가지 가장 흔 하고 기본 적 인 알고리즘 입 니 다.이 해 를 잘 파악 하고 면접 과 개발 에서 도 여 유 롭 게 대응 할 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기