-
1.2 알고리즘의 성능 분석자료구조(C)/자료구조와 알고리즘 2020. 7. 6. 15:29
알고리즘 성능 분석하는 이유 1. 최근 상용 프로그램의 규모가 이전에 비해서는 엄청나게 커지고 있기 때문이다. 2. 사용자들이 점점 빠른 프로그램을 선호한다. 수행시간 측정방법 단순하지만 확실한 방법은 알고리즘을 프로그래밍 언어로 작성하여 실제 컴퓨터상에 실행시킨 다음, 그 수행시간을 측정하는 것이다. 하지만 이 방법은 몇 가지 문제가 있다. 1. 알고리즘이 복잡한 경우에는 구현해야 된다는 큰 부담이 될 수 있다. 2. 똑같은 하드웨어를 사용하여 알고리즘들의 수행시간을 측정해야 한다. 3. 실험되지 않은 입력에 대해서는 수행시간을 주장할 수 없다. 4. 컴퓨터 언어에 따라 수행 시간이 달라질 수 있다. 알고리즘 복잡도 분석 방법 알고리즘 복잡도 분석 구현하지 않고 모든 입력을 고려하는 방법이고 실행 하드..
-
1.1 추상 자료형자료구조(C)/자료구조와 알고리즘 2020. 7. 6. 15:23
추상 자료형? 먼저 자료형(data type) 말 그대로, "자료(data)의 종류" "데이터 타입"이다. 자료형에는 기초 자료형, 파생 자료형, 사용자 정의 자료형 기초 자료형: char, int, float, double 파생 자료형: 배열, 포인터 사용자 정의 자료형:구조체 , 공용체, 열거형 자료형을 작성하 때는 실행 가능한 연산에 대해서도 신경 써야 한다. 데이터의 종류가 결정되면 그 데이터와 관련된 연산도 달라진다. 복잡한 자료형을 구현할 때는 연산이 연산자가 아니고 함수(function)로 작성한다. ADT(Abstract Data Type) 추상 자료형? ADT 추상적, 수학적으로 자료형을 정의한 것이다. 자료구조에는 이러한 추상 자료형을 프로그래밍 언어로 구현할 수 있다. 추상화(abst..
-
1.0자료구조와 알고리즘자료구조(C)/자료구조와 알고리즘 2020. 7. 6. 14:48
자료구조? 프로그램에서 자료를 정리하여 보관하는 구조 ex) 스택, 큐, 리스트, 사전, 그래프, 트리 등 컴퓨터 프로그램 구성 흔히 프로그램 = 자료구조+알고리즘 데이터(자료)를 처리하고 데이터 스트럭쳐(자료구조)를 사용하여 저장된다. 자료구조를 처리하는 절차가 있어야 한다. 이 절차가 알고리즘(algorithm)이다. 알고리즘? 컴퓨터로 문제를 풀기 위한 단계적인 절차 -> 문제와 컴퓨터가 주어진 상태에서 문제를 해결하는 방법을 정밀하게 장치가 이해할 수 있는 언어로 기술한 것이다. 조건 입력 : 0개 이상의 입력이 존재하여야 한다. 출력 : 1개 이상의 출력이 존재하여야 한다. 명백성 : 각 명령어의 의미는 모호하지 않고 명확해야 한다. 유한성 : 한정된 수의 단계 후에는 반드시 종료되어야 한다. ..
-
03 - 문자(str), 문자열(text sequence)Python 2020. 7. 6. 11:20
1. 기본 데이터 타입: 문자(str), 문자열(text sequence) 표현방법 1. " "로 감싸기 2. ' '로 감싸기 3. """ """로 감싸기 4. ''' '''로 감싸기 문자와 문자열 출력 print('3') # 3 print('번') # 번 print("역삼역 출구") # 역삼역 출구 2. type함수로 객체의 자료형 알아내기 () 안에 콜백(callback) 함수(function)가 적용됨 ex) print(type('3')) # class 'str' 정수 : 음의 정수, 양의 정수, 0 자연수 : 1,2,3,4,..... 실수 : 소수점은 가진 수 print(type(3.14)) #class 'float' print(type(3)) #class 'int'
-
02 - 주석과 print()Python 2020. 7. 6. 10:44
1. 주석 (comment) 말 그대로 설명문이다. 그래서 실행이 안된다. 한 줄 주석: #으로 시작(모든 에디터 공통) ex) #주석 여러 줄 주석: """주석""" (큰따옴표, double quote) 3개, '''주석'''( 홑 따옴표, single quote) 3개 2. 출력문 print() print() 함수: 괄호안에 내용을 모니터에 출력하는 출력 명령문 기본값으로 문장 끝에 엔터(enter, 개행 line feed, \n) 옵션이 기본으로 탑재되어 있다. print("hello python!") ' ; ' : 한 줄에 여러 문장을 쓰기 위해 ' ; '를 사용해서 여러 문장을 쓸 수 있다. ex) print("hello"); print("world")
-
01 - 파이썬 입문Python 2020. 7. 6. 10:25
파이썬은 인터프리터 언어이다. 인터프리터란(interpreter)? 소스코드의 각행을 분석하여 중간코드(intermediate code) 생성한다 인터프리터가 중간코드를 실행한다. -> 인터프리터는 코드 한줄을 마다 중간코드를 생성하고, 바로 실행한다. 컴파일러란? 소스코드 전체를 분석하여 .obj를 생성하고 기계어로 변환(exe)한다 그리고 컴퓨터 프로세서가 기계어를 실행한다 -> 컴파일러는 전체 소스에 대한 에러를 알려준다 인터프리트 언어는 지금 배우고 있는 파이썬 컴파일러 언어는 c, c++이다 자바는 컴파일러와 인터프리터 모두 사용 한다