• 제목/요약/키워드: 퀵 정렬 알고리즘

검색결과 14건 처리시간 0.024초

유전 알고리즘을 이용한 정렬 알고리즘의 최악의 인스턴스 탐색 (Finding the Worst-case Instances of Some Sorting Algorithms Using Genetic Algorithms)

  • 전소영;김용혁
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(B)
    • /
    • pp.1-5
    • /
    • 2010
  • 정렬 알고리즘에서 사용한 원소 간 비교횟수를 기준으로, 비교횟수가 많게 되는 순열을 최악의 인스턴스(worst-case instance)라 명명하고 이를 찾기 위해 유전 알고리즘(genetic algorithm)을 사용하였다. 잘 알려진 퀵 정렬(quick sort), 머지 정렬(merge sort), 힙 정렬(heap sort), 삽입 정렬(insertion sort), 쉘 정렬(shell sort), 개선된 퀵 정렬(advanced quick sort)에 대해서 실험하였다. 머지 정렬과 삽입 정렬에 대해 탐색한 인스턴스는 최악의 인스턴스에 거의 근접하였다. 퀵 정렬은 크기가 증가함에 따라 최악의 인스턴스 탐색이 어려웠다. 나머지 정렬에 대해서 찾은 인스턴스는 최악의 인스턴스인지 이론적으로 보장할 수 없지만, 임의의 1,000개 순열을 정렬해서 얻은 비교횟수들의 평균치보다는 훨씬 높았다. 본 논문의 최악의 인스턴스를 탐색하는 시도는 알고리즘의 성능 검증을 위한 테스트 데이터를 생성한다는 점에서 의미가 크다.

  • PDF

새로운 정렬 알고리즘 : 정보 블록 정렬 알고리즘 (A New Sort Algorithm : Information Block Sort Algorithm(IBSA))

  • 송태옥;김태영
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (1)
    • /
    • pp.560-562
    • /
    • 2000
  • 본 논문에서는 정보블록알고리즘(IBPA;Information Block Preprocessing Algorithm)을 이용한 정보블록 정렬알고리즘 (IBSA; Information Block Sort Algotithm)을 제안하고 그 성능을 평가하였다. IBSA의 시간복잡도는 O(N)이며, 데이터의 분포상태에 영향을 받지 않는다. IBPA의 성능을 측정해본 결과, 2백만개의 랜덤데이터를 정렬한 경우, 중복값 허용의 경우 (a)는 퀵 정렬의 32.42%, 기수정렬의 9%정도의 비교회수만으로도 정렬할 수 있음을 보여주었으며, 중복값이 없는 경우 (b)는 퀵 정렬의 53.12%, 기수정렬의 12.79%정도의 비교회수만으로도 정렬할 수 있음을 보여주었다.

  • PDF

SIMD 기반의 VBP 기법을 적용한 효율적인 퀵정렬의 구현 (An Implementation of Efficient Quicksort Utilizing SIMD-Based VBP Technique)

  • 홍길석;김홍연;강성현;민준기
    • 정보과학회 컴퓨팅의 실제 논문지
    • /
    • 제23권8호
    • /
    • pp.498-503
    • /
    • 2017
  • SIMD(Single Instruction Multiple Data)는 대표적인 병렬화 아키텍처 중 하나로, SIMD 레지스터에 적재된 여러 개의 데이터들을 하나의 명령어로 처리하는 기술이다. 퀵정렬(Quicksort)은 데이터 값들이 리스트로 저장되어 있을 때, 임의의 위치에 있는 데이터 값을 피봇으로 하여 그것보다 작은 값은 왼편으로, 큰 값은 오른편으로 분할하여 생성된 두 개의 서브리스트에 대하여 같은 작업을 반복함으로써 데이터 값들을 정렬하는 정렬 알고리즘이다. 본 연구에서는 SIMD 명령어를 이용하여 파이프라인 아키텍처에서 조건 예측 실패에 따른 성능 저하를 유발하지 않도록 분기 조건을 최소로 사용하는 효율적인 퀵정렬(Quicksort) 알고리즘을 제안한다. 또한, VBP(Vertical Bit Parallel) 기법과 얼리 프루닝(early pruning) 기법을 적용하여 SIMD 레지스터에 데이터를 바이트 단위로 적재함으로써 퀵 정렬 알고리즘의 성능을 향상하였다.

점근적 분석 모형에 기초한 유한개 레코드 정렬 알고리즘 효율성의 확률적 분석 (Probabilistic analysis of efficiencies for sorting algorithms with a finite number of records based on an asymptotic algorithm analysis)

  • 김숙영
    • 한국컴퓨터산업학회논문지
    • /
    • 제5권2호
    • /
    • pp.325-330
    • /
    • 2004
  • 정렬 알고리즘 효율성을 분석하는 O 표기법은 자료 크기에 관한 모형을 구축하지 않고 자료 크기가 무한하게 증가될 때의 정렬 비교 횟수의 증가율에 관한 대략적인 정보만을 제공하는 점근적 알고리즘 분석 결과이다 그러므로 제한된 유한개의 자료들만을 정렬하는 응용 면에서도 정렬 알고리즘 효율성 검정이 필요하다. 9,000개 이하의 수치 자료에 삽입 정렬과 퀵 정렬 알고리즘을 적용하여 자료 개수에 따른 정렬 시 필요한 원소 교환 횟수 관계 모형을 구축하였다. 효율성이 O(nlogn)으로 분류되는 퀵 정렬의 경우 추정된 모형은 S=0.9305 $N^{1.1339}$으로, O( $n^2$) 으로 분류되는 퀵 정렬에서는 S=0.12232 $N^{2.013}$으로 추정되었다. 또한 모형의 적합도 검정 결과 정렬 시 자료 개수에 따른 원소 교환 횟수 관계가 추정된 모형들에 의하여 99% 이상이 설명될 수 있으며 적합성을 증명하는 강한 확률적 증거가 발견 되었다. 본 연구 결과들은 정렬 자료 개수가 적은 경우나 새로 개발된 정렬 알고리즘 효율성에 관한 검정의 필요성을 제시한다.

  • PDF

정보 블록 정렬 알고리즘 (A New Sort Algorithm : Information Block Sort Algorithm(IBSA))

  • 송태옥;정상욱;김태영
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2000년도 추계학술발표논문집 (상)
    • /
    • pp.195-198
    • /
    • 2000
  • 본 논문에서는 정보블록알고리즘(IBPA; Information Block Preprocessing Algorithm)을 이용한 정보블록 정렬알고리즘(IBSA; Information Block Sort Algorithm)을 제안하고 그 성능을 평가하였다. IBSA의 시간복잡도는 O(N)이며, 데이터의 분포상태에 영향을 받지 않는다. IBPA의 성능을 측정해본 결과, 2백만개의 랜덤데이터를 정렬한 경우, 중복 값 허용의 경우(a)는 퀵 정렬의 32.42%, 기수정렬의 9%정도의 비교회수만으로도 정렬할 수 있음을 보여주었으며, 중복 값이 없는 경우(b)는 퀵 정렬의 53.12%, 기수정렬의 12.79%정도의 비교회수만으로도 정렬할 수 있음을 보여주었다.

  • PDF

정보 블록 정렬 알고리즘에 관한 연구 (A Study on Information Block Sort Algorithm)

  • 송태옥
    • 컴퓨터교육학회논문지
    • /
    • 제6권3호
    • /
    • pp.1-8
    • /
    • 2003
  • 본 논문에서는 O(NlogN) 의 시간 복잡도와 데이터의 분포상태에 영향을 받지 않는 정보블록 정렬알고리즘(IBSA : Information Block Sort Algorithm)을 제안하고, 시뮬레이터를 이용하여 그 성능을 평가하였다. 2백만 개의 랜덤 데이터를 이용하여 IBSA의 성능을 측정해본 결과, 퀵 정렬의 22%, 개선된 퀵 정렬의 36% 정도의 비교회수만으로도 정렬할 수 있음을 보여주었다.

  • PDF

빠른 계수 정렬법의 제안 (Proposal of Fast Counting Sort)

  • 이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제15권5호
    • /
    • pp.61-68
    • /
    • 2015
  • 데이터를 비교 정렬하는 방법들 중 O(nlogn)보다 빠른 방법은 알려져 있지 않고 있으며, 가장 빠른 퀵 정렬법은 최적과 평균의 경우 O(nlogn), 최악의 경우 $O(n^2)$ 수행 복잡도를 갖고 있다. 본 논문은 비교 정렬법이 아닌 O(n+k),(k=최대치)의 계수 정렬법을 보다 빠르게 수행하는 O(n+k)의 단순 계수정렬법과 데이터의 자리 수 l의 숫자별 빈도수를 계수하여 해당 가상 버킷에 저장하는 O(ln)의 기수 계수 정렬법을 제안하였다. 6개의 실험 데이터에 제안된 알고리즘을 적용한 결과, 퀵 정렬의 O(nlogn) 또는 $O(n^2)$을 O(n+k) 또는 O(ln)으로 단순화 시킬 수 있었다. 결론적으로 제안된 방법은 계수정렬법과 퀵 정렬법에 비해 보다 빠른 방법이다.

웹 기반의 애니메이션을 이용한 정렬 알고리즘 학습 시스템 (Learning System of Sorting Algorithm using Web-based Animation)

  • 유광열;정유진
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 가을 학술발표논문집 Vol.30 No.2 (1)
    • /
    • pp.574-576
    • /
    • 2003
  • 인터넷과 멀티미디어의 눈부신 발전은 교육현장에서도 다양한 교육매체로 활용되어 수업을 돕고 있다. 이러한 교육매체들은 학습자의 생각으로만 이해할 수 있는 것들을 시각적으로 표현하여 보다 직관적이고 구체적으로 이해시킬 수 있다. 이에 본 논문에서는 플래시 액션스크립트를 사용하여 버블, 삽입, 쉘, 퀵, 힙 알고리즘의 수행과정을 그래픽 애니메이션으로 구현함으로 시각적 효과를 통해 다양한 정렬과정을 스스로 학습할 수 있는 학습 시스템을 구현하였다.

  • PDF

하이퍼큐브구조 시스템에서 향상된 병렬 결합 알고리즘의성능 분석 (Performance Analysis of an Advanced Paralled Join Algorithm on Hypercube System)

  • 원영선;조석봉;이규옥;좌용권;홍만표
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제26권6호
    • /
    • pp.683-692
    • /
    • 1999
  • 관계형 데이터베이스 시스템에서 결합 연산자는 데이터베이스 질의를 구성하는 연산자들 중 가장 많은 처리시간을 요구한다. 따라서 이러한 결합연산자를 효율적으로 처리하기 위해 많은 병렬 알고리즘들이 소개되었다. 그 중 하이브리드 해쉬 결합 알고리즘은 가장 우수한 것으로 알려져왔다. 그러나 이 알고리즘은 여러 노드로 데이터를 분할하는 과정에서 데이터의 편중 문제가 발생하며, 이는 전체 시스템의 성능을 크게 저하시키게된다. 본 논문에서는 이러한 데이터 편중문제를 해결한 변형된 하이퍼퀵 정렬을 이용한 병렬 결합 알고리즘을 non-equijoin을 위한 알고리즘으로 확장하였다. 또한 T805로 연결된 하이퍼큐브 구조 시스템에서 시뮬레이션하여 얻은 결과를 수치 계산적 비용모델의 결과와 비교를 통해 변형된 하이퍼 퀵 정렬을 이용한 병렬 결합 알고리즘의 성능을 분석하고 , 비용모델의 타당성을 입증하였다.