본문 바로가기
728x90

공부164

기말 Greedy_approach 정리 Greedy algorithm : Make a sequence of choices, each of which simply looks the best at the moment 선택들 중에서 그 순간 가장 좋아보이는 선택을 함. 대표적인 그리디 알고리즘의 예시는 '동전 고르기' . ex) 730 원을 채우기 위해 동전을 선택하자. Greedy approach vs Dynamic programming -최적화 문제를 푸는데 사용(Solve optimization problems) -그리디 알고리즘은 다이나믹 프로그래밍과 달리 문제를 작은 부분 문제로(sub-problems) 나뉘어지지 않음. 지역적 최적화 선택을 하면 재고려하지 않음 선택은 과거나 미래 선택에 영향을 미치지 않음 최적화인지는 증명해야함(pro.. 2020. 6. 24.
컴퓨터구조9 Computer Arithmetic Arithmetic & Logic Unit (ALU) - 컴퓨터 내에서의 정수 연산 - floating point(실수) 표현 - 과거에는 Co-processor Control Unit 에는 제어 신호가 들어갑니다. Flags 는 오버플로우 등의 신호가 나옵니다. Sigh-Magnitude(부호와 절댓값으로 표현) 가장 왼쪽 부호(LSB)가 양수,음수를 나타내는 bit 입니다. 이거에 단점은 +0 , -0 처럼 0의 표현식이 두개 입니다. 또 연산 후 부호를 다시 판단 해야함으로 불편합니다. 그래서 2의 보수법이 나왔습니다. 0이 단 하나의 표현식이 있습니다. 간단히 2의 보수를 음수로 바꾸는 법에 대해 말하자면 식을 0->1 ,1->0 로 반전시키고 +1 을 해주면 됩니다. (-3) 이 2의 보수를 가.. 2020. 6. 23.
논리회로설계 (레지스터 수준 설계 과정) 지난 시간에 비동기식 카운터까지 보았습니다. 일반적 카운터를 봅시다. 이런식으로 카운팅을 하는 카운터를 설계하고 싶다면 4장에서 배운 동기식순차회로의 게이트 수준 설계 방법을 그대로 사용하면 됩니다. 단 4장에서의 상태천이표와 다른 점은 4장에서의 상태천이표에서는 상태가 심볼들이어서 이 심볼들 을 이진코드로 바꾸는 상태할당이 필요하였는데 이 카운터를 위한 상태천이도는 이미 상태들이 카운터의 이진 코드들로 표기되어 있음으로 상태할당이 필요 없습니다. 그것 빼고는 나머지 과정들은 4장에서의 과정을 그대로 따라가면 됩니다. 그래서 이것으로부터 만들어지는 조합회로부에 대한 진리표는 다음과 같습니다. 여기서 아래 부분이 조합회로의 입력입니다. 그리고 아래가 조합회로의 출력입니다. 여기서 아래 빨간색 이진코드는 원.. 2020. 6. 23.
JNI & SQLite JNI의 개념 ▷JVM(Java Virtual Machine) - Java 바이트 코드를 실행하기 위한 가상 머신 - 이론적으로는 플랫폼이나 OS 및 CPU 와 독립적으로 동작 - Interpreter 나 JIT Compile 방식의 실행 - Stack 기반의 구조 - C에서처럼 포인트 연산 불가 ▷Java Program 실행 구조 - C,C++ 등 타 프로그램은 운영체제 상에서 실행 - Java 는 OS가 JVM 실행 후 JVM 상에서 실행 - 타 프로그램 보다 느림 ▷JNI(Java Native Interface) - Java 이외의 Native Code 로 만들어진 Module 및 Library 를 JVM 상의 Java Code에 상호작용 할 수 있도록 정의된 Interface - JVM 이 OS .. 2020. 6. 23.
728x90