본문 바로가기

전체보기

(205)
[툴] <기타> Typora 사이트 주소 https://typora.io/
[툴] <기타> Obsidian 사이트 주소 https://obsidian.md/
[알고리즘] 선택정렬 선택정렬이란 정렬되지 않은 데이터들에 대해 가장 작은 데이터를 찾아 가장 앞의 데이터와 교환해나가는 알고리즘이다. 논리 0번 인덱스를 최소 값이라고 가정한다. 0번 인덱스를 마지막 인덱스까지 비교한다. 0번 인덱스 보다 작은 값이 있다면 자리를 교체한다. next 1번 인덱스를 최소 값이라고 가정한다. 1번 인덱스를 마지막 인덱스까지 비교한다. 1번 인덱스 보다 작은 값이 있다면 자리를 교체한다. next .... 이미지로 보기 특징 알고리즘이 단순하다. 비교 횟수는 많지만, 실제로 교환하는 횟수는 적다. 교환이 많이 일어나는 상황에서 효율적이다. 단점 불안정 정렬이다. 중복 값이 있을 경우 위치 보존이 안된다. 예제 [5,3,1,4,2]가 [1,2,3,4,5]가 되도록 정렬한다. 예제 코드 // 배열 ..
[디버깅표] 삽입정렬 코드에 대한 디버깅표 작성 코드 //배열 선언 int[] arr = new int[5]; //배열에 데이터 넣기 arr[0]=100; arr[1]=5; arr[2]=60; arr[3]=1000; arr[4]=30; //비교 기준 값을 넣는 변수 int pivot; //1번 인덱스 부터 반복 //기준 값 꺼내기 for(int i=1;i=0;j--) { //비교 값이 기준 값보다 크다면 if(arr[j] > pivot) { //비교 값을 한 칸 뒤로 넣는다 arr[j + 1] = arr[j]; //원래 비교 값 자리에 기준 값을 넣는다. arr[j] = pivot; } } } 디버깅표 i i=0 arr[j] arr[j]>pivot arr[j+1] = arr[j] arr[j] = pivot 1 T 5 5 0 T 100 T {100,10..
[JAVA] 모듈화 모듈이란 단독 수행할 수 있는 코드의 묶음이다. 독자적인 기능이 존재하는 코드이다. 모듈화의 지칭어 컴포넌트화 캡슐화 리팩토링 패키징 함수화 메서드화 특징 조합 경우의 수가 많을 수록 좋다. 더 세부적인 표현이 가능하다. 결합도(응집도)를 높일 수 있다. 결합도가 낮을 경우, 코드 한줄이라도 문제가 있을 경우 동작이 불가능하다. 결합도가 높을 경우, 함수 1개를 수정 중이더라도 전체 프로그램을 사용은 가능하다.
[알고리즘] 버블정렬 버블정렬이란 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘이다. 논리 0번 인덱스와 1번인덱스를 비교한다. 1번 인덱스가 작다면 앞으로 배치한다. 1번 인덱스가 크다면 상태를 유지한다. next 1번 인덱스와 2번인덱스를 비교한다. 2번 인덱스가 작다면 앞으로 배치한다. 1번 인덱스가 크다면 상태를 유지한다. next .... 이미지로 보기 특징 알고리즘이 단순하다. 안정 정렬 이다.(동일한 값을 가진 데이터들의 순서가 원래의 순서와 같이 유지되는 정렬방법) 동일 값이라도 그 데이터가 내포하는 의미는 다를 수 있다. ex) 점수가 같은 학생 단점 특정 요소가 최종 정렬 위치에 있는 경우라도 교환이 일어난다. 예제 [3,2,5,1,4]이 [1,2,3,4,5]가 되도록 정렬한다. 예제 코드 // 배열 선..
[알고리즘] 삽입정렬 삽입정렬이란 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교 하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다. 논리 0번 인덱스는 정렬되있다고 가정한다. 1번 인덱스는 0번 인덱스와 비교하여 1번 인덱스가 작다면 앞으로 배치한다. 1번 인덱스가 크다면 상태를 유지한다. next 2번 인덱스는 1번 인덱스, 0번 인덱스 순으로 비교하여 2번 인덱스가 작다면 앞으로 배치한다. 2번 인덱스가 크다면 상태를 유지한다. next .... 이미지로 보기 특징 알고리즘이 단순하다. 대부분의 원소들이 정렬되어 있다면, 굉장히 효율적입니다. 안정 정렬 이다.(동일한 값을 가진 데이터들의 순서가 원래의 순서와 같이 유지되는 정렬방법) 동일 값이라도 그 데이터가 내포하는 의미는 다를..
[JAVA] 함수 함수의 3요소 함수 : output 함수명(input) = 메서드 시그니쳐 함수명은 해당 함수의 기능을 유추할 수 있는 이름으로 작성한다. JAVA는 함수명 중복 선언 가능하다. input과 output은 달라야 하고 기능은 같아야한다. JAVA에서input과 output을 보고 판단하여 호출 입력 값 = input = 매개변수 = args = 인자 = 인수 = 파라미터 JAVA의 모든 타입이 전부 인자로 사용 가능하다. 인자 개수도 여러개 가능하다. 출력 값 = output = return = 반환 값 = 결과 값 = 출력 값 한개만 반환 가능하다. 기능 함수의 4유형 input X output X public static void funcA(){} input O output X public stati..