데이터 구조 (XII) 정렬

 

첫째, 빠른 정렬

나는 정렬 배웠습니다

 

 분할 통치

 

 

피벗 포인트

피벗:

 

 빠른 정렬

 

 나쁜 소식 : 원래의 순서로, 피벗 포인트가 필요가없는 ...

전제 조건 : // 피벗 포인트는 아니지만 그 반대의 경우도 마찬가지 이미 그 자리에 있어야합니다

교란 2 3 4 1 ... N

특히 다음 또는 그 반대의 순서화 된 시퀀스의 모든 요소들은 모두 피벗 점이다

빠른 종류의 프로세스의 축 지점에 하나 모든 요소의 하나입니다

질문 : 교환하려면? 얼마나 비용이 높은?

 

구성 피벗 포인트

 

후보자 교육 개체로 피벗 포인트를 선택, 첫 번째 요소는 일반적으로 m를 대기 

구성이 프로세스에서 사용 하이 LO 시퀀스는 세 부분 L, U, G로 분할

L은 후보 축점을 초과하지 않음 소자의 접두어, 접미어 G, 피봇 점 후보 이상인 모든 요소

U는 알려지지 않은 크기로 구성 요소 사이의 두 시퀀스 인

전체 시퀀스의 초기 상태는 U, L 및 G가 비어있다

그들은 서로 가까이되도록 시작 후 보라에 하이 시도를 교대는, 측정 및 이동

모든 단계와 LO는 L 부는 안녕, 확장 및 G는이 과정에서, U는 L 또는 G의 엘리먼트에 추가되고

마지막으로, 안녕 보라가 같은 위치를 참조는, 피벗 포인트는 이전에 선택한 후보가, 거기 실제 피벗 포인트를 배치

 

단 조성 +의 불변성

 

 초기 상태, L 및 G가 비어, L 이하의 G와 동일한 피벗 NATURAL 만족

U 헤더 요소는 축 점 후보가 백업으로,이 유휴 고려 될 수있다 제거 된

일반 상황 :

LO는 좌측 확장 시퀀스가 ​​G만큼 [하이] 축 후보 점 이상인 원소 _elem 끝으로,이 강재 1 개 단위 감소한다 유휴 가정

따라서 G에 포함 된 원래의 요소, 마지막의 새로운 요소가 여전히 더 이상 어떤 시점에서 요소가 끝날 때까지 G에 속하는 계속 이러한 조건을 충족하는 조건을 충족

안녕 보라 요소 기기가 유휴 상태의 끝에 전송, 안녕하세요 유휴 상태

또한 조사 _elem [소호 같이, L 확장 피벗 점 후보까지 첫 번째 요소는 LO의 값은 초과하지

보라 안녕로 ​​전송됩니다

 

 예

제 1 축 부재 (6)가 배양 될 수있는 후보 지점으로 간주하고, 그 백업 제거 장치가 논리적으로 대기로 간주

이때, 즉 제 소자 (7)의 단부를 조사 샤프트는 G로 분류 후보 점 (6)보다 큰

새로운 단부 소자 (6)는, 공회전이 목적 LO (1)에 전사하고, 1 미만의 L 시퀀스에 분류, 즉, 첫 번째 요소의 위치

오른쪽 세 미만 6 확장하고 확장, 8, 6보다 큰

위치로 전송하는 하이 보라 유휴

왼쪽 5, 6보다 작은 LO로 진행 하이 유휴

6이 우측보다 작고, 오른쪽은 5 미만이다 6

6보다 큰 9 오른쪽 보라 유휴, 인사 이동입니다

4 미만 6 왼쪽이다, 보라 이동

右侧的U只剩下一个元素,此处应放6,是轴点

 

 性能分析

 

 

 

 

 平均性能

 

 

 

a4 快速排序:变种

不变性:

 

 L和G在U左边

 

 

 单调性

 

 实现

 

 实例

 

 

b1 选取:众数

选取与中位数

 

 

众数

 

 必要条件

 

 

减而治之

 

 算法

 

 

 

 b3 选取:通用算法

尝试:蛮力

尝试:堆(A)

 

 

 

 

尝试:堆(B)

 

 

 

尝试:堆(C)

H:任取k个元素,组织为大顶堆 // O(k)

G:其余n-k个元素,组织为小顶堆 // O(n-k)

反复地:比较h和g // O(1)

    如有必要,交换之 // O(2*(logk+log(n-k)))

直到:h<=g // O(min(k, n-k))

 

 

 

quickSelect()

 

 

 

linearSelect()

 

 

 

复杂度

 

 

 

希尔排序

Shellsort

 

 

实例

 

 

 

 

 

 

 

call-by-rank

 

 

Insertionsort

 

 

 Shell's Sequence

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---恢复内容结束---

추천

출처www.cnblogs.com/aidata/p/11586729.html