자료구조(4)
-
자료구조 08 - 이진 검색
이전시간에 작성했던 선형검색은 데이터를 맨앞에서부터 차례대로 검색해 key값을 찾는 것이였다. 이번 시간에 작성할 이진검색은 선형검색과 다르게 전제조건이 존재한다. 전제조건은 데이터가 sort(정렬) 되어 있다고 가정 후 검색을 하는 것이다. 코드를 짜기전 위의 도식화된 그림을 그리고 코드를 작성했다. 양쪽 인덱스의 값의 평균을 중앙값으로 계산하여 이진검색의 기준을 잡았다. 위에 도식화를 기준으로 이진 검색 코드를 작성해 보았다. import java.util.Scanner; class binary_search{ public static int Binary_search(int [] A, int key){ int str =0; int fin = A.length-1; if(key == A[0]){ retur..
2021.03.07 -
자료구조 03 - 반복문
while(제어식) 명령문 ->제어식이 TRUE -> 명령문 실행 -> 제어식 TRUE -> 명령문 실행 (제어식이 계속 참이면 무한loop 발생) -> 따라서 명령문에 제어식의 변수에 대한 명령어도 써줘야함 for(변수 초기화, 제어식, 변수 업데이트) 명령문 -> 제어식이 TRUE이면 -> 명령문 -> 변수업데이트 -> 제어식이 FALSE이면 -> 끝 for문을 활용하여 정수 a와 b 사이의 값들의 합을 구하는 코드를 작성해 보았다. while문을 활용하여 정수의 자릿수 구하는 코드를 작성해 보았다. 논리연산자와 드모르간의 법칙 고등학교 집합시간에 배웠던 드모르간의 법칙을 생각해보면 아래와 같다. 이는 자바의 연산구조에서도 똑같이 적용되는데 드모르간의 법칙에 의해 (10
2021.03.03 -
자료구조 02 - 중간값 구하기
두번째 자료구조 실습은 중앙값 구하기다. 자료구조 01 에서 다룬 최댓값구하기보단 수월하지만 효율성에 대해 알아볼 수 있는 두개의 코딩을 해보았다. 위의 작성된 코드와 아래 새로작성한 코드사이에는 효율성의 문제가 존재한다 위에 그림은 1번 코드를 도식화시킨 그림이다 위에그림은 2번 코드를 도식화 시킨 그림이다 1번코드는 무조건 6번 계산을 해야하는데 반해 2번코드는 2~3번만 계산을 하면 중앙값을 계산할 수있다. 즉 다시말하면 계산의 효율성에 차이가 생기는 것이다. 데이터가 지금은 많지 않아서 그렇지 많아진다면 이러한 작은차이도 큰 차이가 될것이다. 아래 코드는 위의 중앙값 구하기를 함수 메소드로 바꿔 구현해 본 것이다
2021.03.02 -
자료구조 01. 최대값 구하기
자바를 활용한 4개의 주어진 숫자 중 최댓값만 출력해내는 코드를 작성해보려고 한다. 난이도는 어렵지 않아 작성하는데 오래걸리지 않았다. 다음과같이 코드를 작성했으며 바이트화 된 class파일을 실행한 결과 위와같이 출력이 됨을 볼수있었다. 위의 그림은 코드를 도식화 시켜 그려본 것이다. 그리고 위의 그림은 매개변수를 활용한 4개변수의 최댓값 구하는 메소드를 만들어 실행한 내용으로 최댓값을 구해야할 일이 많을경우 함수메소드를 만들어 실행하면 효율적으로 프로그래밍을 할 수 있다. *매개변수: 함수정의 할때 쓰이는 변수 다음시간엔 중앙값을 구하는 코드를 작성할 예정이다.
2021.03.01