더 부지런해지기 위한 블로그
Home
  • 분류 전체보기 (60)
    • 자바알고리즘 (16)
    • 깃 (4)
    • 자바_스프링 (10)
    • 도커_젠킨스 (3)
    • 데이터베이스 (5)
    • 프로젝트 (15)
    • 기타 (5)
    • 잡담 (1)
  • 분류 전체보기 (60)
    • 자바알고리즘 (16)
    • 깃 (4)
    • 자바_스프링 (10)
    • 도커_젠킨스 (3)
    • 데이터베이스 (5)
    • 프로젝트 (15)
    • 기타 (5)
    • 잡담 (1)
블로그 내 검색

더 부지런해지기 위한 블로그

개발 공부하며 기록하는 블로그 입니다.

  • 자바알고리즘

    정렬정리(선택정렬, 버블정렬 , 삽입정렬)

    2021. 9. 2.

    by. Sohyun

    1. 선택정렬 : i 값 과 구간을 줄여나가며 비교한다. 가장 작은 값이 i가 된다
    2. 버블정렬 : 이웃과 비교, 파도타기하면서 뒤에서부터 정렬됨
    3. 삽입정렬 : 앞에서부터 가는데 i를 중간에 끼워넣는다.(크면 밀고 작으면 break)

    나는 가장 작은 수를 찾아서 앞에다 넣는 알고리즘을 사용하였는데

    답안에서는 한칸 범위 돌면서 계속 1:1 비교하는 방법이었다.

     

    선택정렬 : 한바퀴씩 돌면서 제일 작은숫자를 찾음

    	for(int i=0;i<N;i++) {	//최솟값을 찾아서 앞에다 둠
    		int index=i;
    		int min=Integer.MAX_VALUE;
    			
    			for(int j=i;j<N;j++) {			
    				if(arr[j]<min) { 					
    					min=arr[j];		
    					index=j;
    				}
    			}
                
    		arr[index]=arr[i];
    		arr[i]=min;	
    	}

     

    버블정렬 : 이웃한 두 수 비교해서 바꿈(파도타듯 밀고가서 뒤에서부터 정렬됨)

     

    	for(int i=0;i<N-1;i++) {
    		for(int j=0;j<N-i-1;j++) {
    			if(arr[j]>arr[j+1]) {
    				int tmp=arr[j];
    				arr[j] = arr[j+1];
    				arr[j+1] = tmp;
    			}
    		}			
    	}

     

    삽입정렬 : 정렬하면서 뒤로 옴(뒤로 민다.)

     

    	for(int i=1;i<N;i++) {
    		int tmp=arr[i], j;
    		for(j=i-1;j>=0;j--) {
    			if(arr[j]>tmp) {
    				arr[j+1]=arr[j]; //한칸미루기
    			}else {
    				break;
    			}
    				
    		}
    		arr[j+1]=tmp; //한바퀴 끝나면 멈춘 j+1번째에 tmp 넣기
    	}

    '자바알고리즘' 카테고리의 다른 글

    자바 이진트리 순회(2.DFS - 넓이 우선탐색)  (2) 2021.09.05
    자바 이진트리 순회(1.DFS - 깊이 우선탐색)  (0) 2021.09.04
    재귀함수와 스택프레임  (0) 2021.09.03
    TreeSet 알고리즘(중복제거 , 정렬가능)  (1) 2021.08.22
    HashMap<Key, Value> 알고리즘  (0) 2021.08.21

    댓글

    관련글

    • 자바 이진트리 순회(1.DFS - 깊이 우선탐색) 2021.09.04
    • 재귀함수와 스택프레임 2021.09.03
    • TreeSet 알고리즘(중복제거 , 정렬가능) 2021.08.22
    • HashMap<Key, Value> 알고리즘 2021.08.21
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
Sohyun

티스토리툴바