본문 바로가기

학교공부7

[자료구조] 정렬의 속도 비교( 퀵 정렬, 삽입정렬, 병합 정렬) 다양한 정렬의 속도 비교 자료구조 중 삽입정렬, 병합정렬, 퀵 정렬을 비교하는 프로그램입니다. #define _CRT_SECURE_NO_WARNINGS #include #include #include //크기를 입력하면 1~크기로 채워서 배열을 생성 int* arrgen(int size) { int* arr = (int*)malloc(sizeof(int) * size); for (int i = 0; i < size; i++) { arr[i] = i+1; } return arr; } //임의의 두 원소를 교환하는 것을 epoch만큼 반복하는 함수 void shuffle(int arr[], int epoch,int size){ srand((unsigned)time(NULL)); for (int i = 0; .. 2020. 12. 31.
유체역학 실험: 표면장력 표면장력의 이해 공기 중에 물 입자가 있다고 가정해봅시다. 물 입자의 최외곽에 있는 입자들은 상태가 다릅니다. 힘 관점에서 이해해보자면, 유체입자들은 서로 인력을 작용합니다. `최외곽에 있는 물 입자들은 원래 다른 물입자를 당겼어야 하는 인력만큼` 주위 물입자에 힘을 씁니다(라고 이해하면 될 것 같습니다). 계면에 있는 입자들은 표면방향으로, 곡면에 접하는 직선방향으로 힘을 더 받습니다. 길이가 늘어나면 늘어날수록 더 힘이 세집니다. 표면장력은 길이당 힘입니다. L에 비례하기 때문에, ${L^2}$이나 ${L^3}$에 비례하는 압력, 중력 등에 비해 작은 스케일의 시스템에서 영향력이 더 커집니다. 에너지 관점에서 보자면, 표면에 있는 입자들은 에너지가 열역학적으로 높고, 비교적 안에 있는 입자들은 에너지.. 2020. 9. 12.
[JAVA 기초]System.in.read() 와 Scanner 오늘은 사용자가 직접 변수를 입력하는 방법에 대해 알아보겠습니다 System.in.read() 정수형을 입력받을 수 있습니다. 간단한 예제를 통해 입출력을 해봅시다. int와 char모두 정수를 변수에 저장하는데, char를 출력할 때는 숫자 대신 문자를 출력한다고 알고 있으면 됩니다. `System.in.read()`로 받아들인 값은 아스키코드의 십진수로 표현이 됩니다. import java.io.IOException; public class Chap02_inclass { public static void main(String[] args) throws IOException{ int v1; //char v1으로 바꿔서도 해봅시다 v1=System.in.read(); System.out.println(v.. 2020. 9. 10.
[JAVA 기초] 변수와 자료형 변수 변수란 하나의 값을 저장할 수 있는 자료공간을 의미합니다. 어떤 값을 프로그램에서 사용하려고 하려면 그 값을 담을 수 있는 메모리 공간이 필요하고 그것을 변수라고 합니다. 변수는 메모리 공간안에 들어가는 값이 바뀔 수 있습니다. 그 값이 바뀌지 않을때는 상수라고 합니다. 변수의 사용 변수의 선언은 메모리를 할당하겠다는 것을 의미하고, 값을 입력하는 것은 그 메모리에 있던 기존 값(불필요한 쓰레기 값)을 지우고 새로운 값으로 초기화시키는 것을 의미합니다. 또 같은 종류, 같은 타입의 변수들은 나열식으로 선언이 가능합니다. 변수는 그 변수가 선언된 블록 안에서만 사용이 가능합니다. 변수명 작성 규칙 변수의 첫번째 글자는 무조건 문자여야합니다. $,_는 사용이 가능합니다. 영어 대소문자를 구분합니다. 예.. 2020. 9. 8.
[신호 및 시스템] Lecture 01 용어 정리 `Digitization` Analog signal(Continuous-time)을 Digital signal(Discrete-time)로 바꾸는 process를 의미합니다. Digization을 거친 signal은 배열처럼 $x[n]$의 형태로 저장됩니다. `Sampling Rate`: 샘플링하는 비율을 의미합니다. 1초에 기록된 signal의 수를 의미합니다. `Sampling Interval`: Sampling Rate의 역수입니다.(시간) `A/D` : Analog to Digital (`C/D`와 동의어) CD를 예로들면, 44100 의 샘플을 1초에 저장하며, 각 샘플은 16-bit로 저장됩니다. 스테레오 방식으로 1분짜리 음악을 CD에 저장하려면 $2 \times 44100 \ti.. 2020. 9. 7.
[JAVA 기초] JAVA 시작하기2 프로그래밍 언어 1. 프로그램은 `일의 순서를 합리적으로 나열해놓은 것`울 의미합니다. 2. 컴파일러: 프로그래밍 언어를 기계어로 번역해줍니다. 3. 기계어란 0과 1로 구성된 형태의 언어로, 컴퓨터가 이해할 수 있는 언어입니다. 4. 프로그래밍 언어는 고급언어(C, C++, JAVA 등)과 저급언어(어셈블리어 등) 등으로 나뉩니다. JAVA의 특성 1. 이식성이 높습니다. Windows 환경에서 짜고 Linux에서 실행해도 됩니다. 2. 객체지향형 프로그래밍 언어입니다. 레고 조립과 비슷합니다. 3. 함수 스타일을 지원합니다. 4. 메모리를 자동으로 관리해줍니다.(동적 할당 등) 5. 멀티 스레드가 구현이 가능합니다.(병렬 처리가 가능합니다.) 6. 동적 로딩: 프로그램을 실행할 때 프로그램을 구성하는.. 2020. 9. 3.
[JAVA 기초] 자바 시작하기 JDK, eclipse 설치, 출력문 작성하기 1. 모든 컴퓨터는 기계어를 사용합니다. 2진수를 이용해서 데이터를 표현합니다. 2. 바이트코드는 특정 가상 머신에서만 해석될 수 있는 코드를 의미합니다. 3. 가상머신은 가상의 운영체제로 이해하면 됩니다. JVM이라고 합니다. JRE,JDK를 설치하는 과정에서 자동으로 설치가 됩니다. 4. JDK는 JRE를 포함하기 떄문에 JDK를 보통설치합니다.(JRE+컴파일러) 5. JDK환경변수를 설정해야 편리하게 실행할 수 있습니다. 설치는 오라클 홈페이지에서 할 수 있습니다. www.oracle.com/java/technologies/javase-jdk14-downloads.html 6. 사용자변수는 개인사용자에게만, 시스템변수는 모든 사용자에게 적용되는 변수입니.. 2020. 9. 1.