본문 바로가기

전체 글

(77)
for each for each문은 for문을 더 간편하게 사용할 수 있도록 해준다. 사용법 for (타입 변수명 : 자료구조){ // 실행문장 } 예시 package test; public class Test { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7}; int i = 0; for (int a : arr) { System.out.println(i++ + "번째 원소의 값 : " + a); } } } 실행결과 0번째 원소의 값 : 1 1번째 원소의 값 : 2 2번째 원소의 값 : 3 3번째 원소의 값 : 4 4번째 원소의 값 : 5 5번째 원소의 값 : 6 6번째 원소의 값 : 7 for each문의 장점은 가독성이 좋다는 것이..
명령어 Operation Code : 명령어에서 기능부 (연산자) Operand : 피연산자 operand의 개수에 따라 0-주소 명령어, 1-주소 명령어, 2-주소 명령어, 3-주소 명령어라고 한다. operation code의 유형 (mips기준 ) 더보기 산술 논리연산 데이터 전송 분기문 주소지정 방식 1. 즉시 주소 지정 방식 - 연산에 사용할 데이터를 오퍼랜드 필드에 직접 명시하는 방법이다. 장점 : 주소를 특정하는데 필요한 오버헤드가 없다. 단점 : 표현할 수 있는 데이터의 크기가 제한된다. 2. 직접 주소 지정 방식 - 오퍼랜드 필드에 메모리의 주소를 참조한다. 장점 : 표현할 수 있는 데이터의 크기가 커진다. 단점 : 즉시 주소 지정 방식에 비해 상대적으로 느리다. 3. 간접 주소 지정 방식 - ..
인코딩과 디코딩 인코딩은 사람이 사용하는 문자난 영상 사진등과 같은 정보를 컴퓨터 상에 표현하기 위해 숫자에 mapping 한 것이다. A라는 문자를 컴퓨터에 나타내려면 A에 해당하는 숫자가 있어야 한다. 아스키 코드 상에서는 이것이 65가 된다. 디코딩은 이렇게 변환된 문자(혹은 다른 정보)를 다시 원래의 형태로 변환하는 작업을 디코딩이라고 한다. 디코딩을 하기 위해서는 인코딩 방식에 맞는 방식으로 디코딩을 해야 한다. 인코딩 방식에 맞지 않는 디코딩을 하면 엉뚱한 값이 나오기 때문이다. (지금은 많이 없지만 예전에 웹서핑을 하다 보면 글자가 깨지거나 이상한 문자가 나오는 사이트들이 있는 경우가 있다. 그럴 경우엔 인코딩 방식이 맞지 않아서 그러한 결과가 나오는 것이다.) UTF - 8 utf-8은 가변형 인코딩 방식..
quick sort quick sort 중 피봇이 맨 오른쪽에 위치한 quick sort를 알아보려고 한다. 우선 quick sort에서 가장 중요한 피벗이란 하나의 기준점을 말한다. 이 피벗을 중심으로 피벗의 앞에는 피벗보다 작은 원소들을, 뒤에는 피벗보다 큰 원소들을 나열하여 피벗의 위치를 확정시켜 나아가다. 결국엔 모든 원소가 정렬되는 알고리즘이 quick sort알고리즘이다. 위의 사진도 마찬가지로 피벗을 맨 오른쪽 원소로 잡은다음 quick sort를 진행한 결과이다. quick sort는 운이 좋으면 O(nlogn)의 시간복잡도를 가지지만 운이 좋지 못하면 O(n^2)의 시간 복잡도를 가진다. 또한 quick sort는 피벗의 위치에 따라 시간복잡도의 차이가 나는데 피벗을 맨 오른쪽에 위치한 원소로 잡는 방식 말..