python3-- 간단한 간단한 정렬 알고리즘이 아니라고

  접촉 알고리즘의 시작 부분에서, 우리는 무지 보일 수 있습니다,이 경우, 분실하지 않는, 어디서부터 시작, 특히 지금은 다양한 언어를 사용, 알고, 다양한 언어를 달성, 그렇게하지 않습니다 자신은 수학 공식을 해결처럼, 당신에게 정리, 그들은 좋은 문제 해결 아이디어를 개발하기 위해 그것을 구현하는 코드를 가지고있어 사용할 수 있다고 생각, 알고리즘 작동을 마스터.

의는 정렬 알고리즘 항목에서 시작하자 :

다음은 A가 = [3,1,5,6,7,2,4,8] 정렬 할 무질서한 배열

1. 간단한 버블 정렬

초기 정렬 알고리즘으로, 버블 링 거의 가능한 매우 폭력적인 원칙과 열거 방법은, 하나 개의 비교, 단순하고 거친 (매우 * 매우 폭력)의 실천에 의해, 모든 요소 외출을 열거, 그것을 시도합니다.

다음 코드에서 :

'' ' 
버블 정렬 
' '' 
(A) bubblesorft DEF 
    I에 대한 범위 (LEN (A))에서, 제 1 층 # 1주기, 제어 시퀀스 번호 
        범위 J (LEN (A 용 ) -i)를 : 두 번째 층, 제어 소자 및보다 후방 요소 크기 전에 # 사이클 
            IF 1 + J <LEN (a). 
                IF A [J]> A [+ J. 1] : 
                    TEMP = A [+ J. 1] 
                    이 [J +1] A [J] = 
                    A [J] = TEMP는 
    리턴 

A = [3,1,5,6,7,2,4,8] 
A = bubblesorft (A) 
인쇄 (A)를

[1, 2, 3, 4, 5, 6, 7, 8]

알고리즘은, 하, 하, 읽을 수없는 경우, 다음 자신의 코드, 당신은 곧 알게 될 것이다 여러 번 노크, 간단하고 명확하다

이 모든 간단하지만 간단하지 병합 정렬 알고리즘의 다음, 완료되지 않습니다, 당신은 그것을 깨닫게 :

2. 단순하지만 단순하지 병합 정렬

당신의 철저한 이해를 얻을 간단하기 때문에, 아주 간단한 재귀 사람들이 실제로 반환 할 때 이해하려는 주위에 말하고, 이번에는 재귀의 가치를 이해하고 싶어했다.

제 정렬로 정렬하고 어레이의 두 부분 중 하나에 정렬되어 정렬 된 두 개의 별개 부분들로 정렬 배열을 병합하고.

느낌에 다음 코드 :

'' '는 
정렬 알고리즘 병합 
' ' 
DEF mangesorft (A) : 
    LEN (A)은 <= 1 경우 :. 
        리턴 

    절반 = 목록 2 등분 INT (LEN (A) / 2) # 
    제 = mangesorft (A [0 : 반]) # 재귀 마지막 요소 포인트는 작은 소자까지, 다음의 정렬 된 목록을 반환되도록 
    제 = mangesorft : (a [반 LEN (a)]) # 그러한 재귀을 다음 작아, 소자까지, 그리고 마지막 하위 요소의 정렬 된 목록을 반환 

    I를 = 0 
    J = 0 
    newA = [] 
    I는 (최초) 렌 또는 J <렌 <그동안 (초) : 제어 사이클 # 번호 
        하다면 I 렌 (제 1) 및 J < <LEN (초) : #의 키 병합 정렬은 제어 요소 인덱스 병합 
            IF 우선 [I] <= SECOND [J] : 
                newA.append (제 [I]) 
                I + = . (1) 
            그렇지 않으면 : 
                newA.append (SECOND [J])  
                . J = 1의 +
        다른 :
            I 렌 <경우 (제 1) 
                newA.append (제 1 [I]) 
                I + 1 = 
            만약 J <LEN (초) 
                newA.append (제 [J]) 
                J + 1 명 = 
    복귀 newA 

__name__ 경우 == "__main__ " 
    A = [3,1,5,6,7,2,4,8] 
    A = mangesorft (A) 
    잉크 (A)

[1, 2, 3, 4, 5, 6, 7, 8]

이 두 알고리즘의 비교, 그래서 당신이하지, 그리고 만약 그렇다면, 축하, 당신은 함께 당길 수 생각 작은 손은, 알고리즘의 구덩이에 뛰어

두 아티팩트 무질서한 배열 또는리스트 만남 알고리즘 문제 후 Nazan 먼저 시퀀스를 행하기 위해,이 문제 해결을위한 첫 번째 단계는, 어서!

추천

출처www.cnblogs.com/weijiazheng/p/10984963.html