«sorting» 태그된 질문

어떤 순서 관계와 관련하여 일련의 요소를 순서화하는 알고리즘 문제.

3
기수 정렬의 실제 응용
기수 정렬은 키가 특정 제한된 범위에 있음을 알 때 이론적으로 매우 빠릅니다 (예 : 범위의 값) . 경우 시간 이 걸리는 기본 값을 변환하면 기본 기수 정렬을 수행 한 다음 전체 알고리즘 을 위해 원래 기본으로 다시 변환하십시오 .엔엔n[ 0 … n케이− 1 ][0…엔케이−1][0\dots n^k -1]k &lt; lg엔케이&lt;lg⁡엔k<\lg n엔엔nΘ ( …

3
가장 효율적인 상수 공간 정렬 알고리즘은 무엇입니까?
배열 크기 이외의 바이트를 할당하지 않고 int 배열에 대한 정렬 알고리즘을 찾고 있는데 두 가지 명령으로 제한됩니다. 스왑 : 다음 인덱스를 현재 인덱스로 교체합니다. MOVE : 커서를 +1 또는 -1 색인으로 이동합니다. 즉, 비 이웃 인덱스를 교환,도 인덱스를 바꿀 수 없다 100당신은 그냥 인덱스를 교환 한 후, 10. 가장 효율적인 …

3
한 배열이 다른 배열의 정렬 버전인지 확인하는 결정적 선형 시간 알고리즘
다음 문제를 고려하십시오. 입력 : 길이 의 배열 와 두 개 ( 여기서 는 정렬 된 순서)ㅏAA비BB엔nn비BB 질의 : 않습니다 와 (자신의 다양성과) 같은 항목을 포함?ㅏAA비BB 이 문제에 대한 가장 빠른 결정 론적 알고리즘 은 무엇입니까 ? 정렬하는 것보다 빠르게 해결할 수 있습니까? 이 문제를 결정적인 선형 시간으로 해결할 수 …

2
최대 7 개의 비교로 5 개의 정수로 정렬
최악의 경우 7을 비교하도록 5 개의 정수 목록을 정렬하려면 어떻게해야합니까? 나는 얼마나 많은 다른 작업이 수행되는지는 중요하지 않습니다. 정수에 대해 특별한 것을 모른다. 나는 mergesort 접근법을 따르거나 바이너리 검색을 사용하여 mergesort를 결합하여 삽입 위치를 찾는 것과 같이 8 가지로 나눌 수있는 몇 가지 나누기 및 정복 접근법을 시도했지만 8로 끝날 …

4
Randomized Quicksort가 O (n log n)의 최악의 런타임 비용을 갖는 이유
무작위 빠른 정렬 은 피벗 요소가 임의로 선택되는 빠른 정렬의 확장입니다. 이 알고리즘의 최악의 시간 복잡도는 무엇입니까? 나에 따르면, 임의로 선택된 피벗이 정렬 되거나 역 정렬 된 순서 로 선택되면 최악의 경우가 발생하기 때문에 O ( n2)영형(엔2)O(n^2) 이어야합니다 . 그러나 일부 텍스트에서 [1] [2] 최악의 시간 복잡도는 O ( n …

2
Randomized Quicksort의 장점은 무엇입니까?
Motwani와 Raghavan은 자신의 책 Randomized Algorithms 에서 RandQS 기능인 Randomized quicksort에 대한 설명으로 소개를 시작합니다. 나는 이것에 대해 얼마 동안 (약간 힘이 부족한) 두뇌를 쌓아 왔지만 매번 중간 요소 (크기가 아닌 색인)를 선택하는 것 보다이 알고리즘이 어떤 이점을 가지고 있는지 알 수 없었습니다. 내가 볼 수없는 것은 이것이 있다고 가정합니다. …

4
연결된 목록에서 빠른 정렬을 사용하지 않는 이유는 무엇입니까?
빠른 정렬 알고리즘은 다음 단계로 나눌 수 있습니다 피벗을 식별하십시오. 피벗을 기준으로 연결된 목록을 분할하십시오. 연결된 목록을 재귀 적으로 두 부분으로 나눕니다. 이제 항상 마지막 요소를 피벗으로 선택하면 피벗 요소 (1 단계)를 식별하는 데 시간이 걸립니다.O(n)O(n)\mathcal O(n) 피벗 요소를 식별 한 후 데이터를 저장하고 다른 모든 요소와 비교하여 올바른 파티션 …

4
퀵 정렬은 아이들에게 설명
작년에 나는 “유치원을위한 양자 역학”에 관한 환상적인 논문을 읽고있었습니다 . 쉬운 종이 아니었다. 이제 가장 간단한 단어로 퀵 정렬을 설명하는 방법이 궁금합니다. 평균 복잡도가 이고 유치원 클래스에 가장 좋은 경우와 최악의 경우가 무엇인지 어떻게 증명할 수 있습니까? 아니면 적어도 초등학교에서?O ( n 로그n )영형(엔로그⁡엔)O(n \log n)

2
최소한의 반전을 유지하면서 목록에 효율적으로 삽입
두 개의 비교 가능한 항목 목록 (u 및 s)을 가정하십시오. INV (u)를 u의 반전 수로 둡니다. INV (u)의 최소 증가로 s 항목을 u에 삽입하는 효율적인 알고리즘을 찾고 있습니다. 기본적으로 첫 번째 목록의 순서를 유지하면서 개체를 "가능한 한 정렬 된 상태로"유지하면서 목록에 개체를 삽입하고 싶습니다. 예: u = [4,6,2,9,7] INV(u) = …

1
이웃을 비교하지 않고 목록의 정렬을 확인할 수 있습니까?
엔엔n 이웃에있는 모든 항목을 비교하여 분류로 -item 목록을 확인할 수 있습니다. 내 응용 프로그램에서 모든 것을 비교할 수는 없습니다. 항목을 이웃과 . 대신 비교가 때로는 먼 요소 사이에있을 것입니다. 목록에 3 개 이상의 항목이 포함되어 있고 비교가 유일하게 지원되는 작업 인 경우, 목록이 정렬되었지만 적어도 하나의 인접 이웃이 누락되었음을 나타내는 …
14 sorting 

4
정렬 알고리즘에 전이성이 필요합니까?
전이가 아닌 비교와 함께 정렬 알고리즘을 사용할 수 있습니까? 그렇다면 전이성이 정렬 비교기의 요구 사항으로 나열되는 이유는 무엇입니까? 배경: 정렬 알고리즘은 일반적으로 비교기 함수 C (x, y)에 따라 목록의 요소를 정렬합니다. 씨( x , y) = ⎧⎩⎨− 10+ 1만약 X≺Y 만약 X~Y 만약 X≻Y 씨(엑스,와이)={−1만약 엑스≺와이0만약 엑스∼와이+1만약 엑스≻와이\begin{array}{ll} C(x,y) = …

1
정렬에 대한 흥미로운 문제
번호가 매겨진 볼이있는 튜브 (무작위) 튜브에는 공을 제거하기위한 구멍이 있습니다. 한 작업에 대해 다음 단계를 고려하십시오. 구멍에서 하나 이상의 공을 고르고 공을 고른 순서를 기억할 수 있습니다. 파이프에 남아있는 볼이 왼쪽으로 이동하고 볼을 제거하여 생성 된 빈 공간을 차지하도록 파이프를 왼쪽으로 기울여야합니다. 파이프에서 번호가 매겨진 볼을 선택한 순서를 변경해서는 안됩니다. …

1
버블 정렬에서 예상되는 스왑 수
정수로 구성된 배열 AAA 가 주어지면, 배열 의 각 요소는 확률 , 0 ≤ i &lt; n 으로 고정 된 수 만큼 증가 할 수 있습니다 . bubble sort 사용하여 배열을 정렬하기 위해 예상되는 스왑 수를 찾아야합니다 .b p [ i ]NNNbbbp[i]p[i]p[i]0≤i&lt;n0≤i&lt;n0 \leq i < n 나는 다음을 시도했다. 요소의 …

2
병합 정렬에서 "분할"단계를 피할 수 있습니까?
따라서 병합 정렬은 나누기 및 정복 알고리즘입니다. 위의 다이어그램을 보면서 기본적으로 모든 나누기 단계를 무시할 수 있는지 생각했습니다. 2만큼 점프하면서 원래 배열을 반복하면 인덱스 i 및 i + 1에서 요소를 가져 와서 자체 정렬 배열에 넣을 수 있습니다. 이러한 하위 배열을 모두 갖추면 (그림에 표시된대로 [7,14], [3,12], [9,11] 및 [2,6]) …


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.