728x90
//알고리즘의 성능 분석 기법// > 수행시간 측정두개의 알고리즘의 실제 수행 시간을 측정하는 것실제로 구현하는 것이 필요동일한 하드웨어를 사용해야 함> 알고리즘의 복잡도 분석직접 구현하지 않고서도 수행 시간을 분석하는 것알고리즘이 수행하는 연산의 횟수를 측정하여 비교일반적으로 연산의 횟수는 n의 함수 *시간 복잡도 분석: 수행 시간 분석알고리즘이 문제를 해결하기 위한 시간(연산)의 횟수를 시간 복잡도라고 한다. 알고리즘이 이루고 있는 연산들이 몇 번이나 수행되는지를 숫자로 표시한다.산술 연산, 대입 연산, 비교 연산, 이동 연산의 기본적인 연산 ->수행시간이 입력이 크기에 따라 변하면 안됨알고리즘이 수행하는 연산의 개수를 계산하여 두 개의 알고리즘을 비교한다.연산의 수행횟수는 고정된 숫자가 아니라 입력..
//데이터 타입// - 데이터의 집합과 연산의 집합을 말한다.(예) int 데이터 타입데이터 : {... , -2, -1 ,0 ,1 , 2 , ...}연산 : +, -, /, *, % //추상 데이터 타입// - 데이터 타입을 추상적(수학적)으로 정의 한 것을 말한다.-데이터나 연산이 무엇인가는 정의 되지만 데이터나 연산을 어떻게 컴퓨터 상에서 구현 할 것인지는 정의 되지 않는다. -객체 : 추상 데이터 타입에 속하는 객체가 정의된다.-연산 : 객체들 사이의 연산이 정의 된다. 이 연산은 추상 데이터 타입과 외부를 연결하는 인터페이스의 역할을 한다. //추상 자료형(ADT)// 인터페이스와 구현을 분리하여 추상화 계층을 둔 것이다.객체 지향의 클래스(Class)또는 사용설명서와 유사하다. 기능의 구현 부..
//자료구조란?//데이터를 표현하는 방법 및 구조 자료에 대한 처리를 효율적으로 수행할 수있도록 자료를 구분하여 표현하는 것역할 : 프로그래밍에서 가장 기초적인 학문 분야 ->프로그램의 기본 골격 - 효율적이고 안전하게 동작하기 위해서 반드시 필요함->프로그램 개발과정과 건물 건축하는 과정과 유사BUT, 프로그램의 크기가 작은 경우, 대형 프로젝트의 초기 단계 -> 구조적인 결함 발생 목적: 자료구조는 컴퓨터의 자료를 효율적으로 저장하고, 관리하기 위해 사용한다. 사용하는 이유? 메모리를 절약하고 프로그램 수행(실행) 시간을 단축을 목적으로 사용된다. 프로그램의 수행시간 혹은 저장 공간을 고려한 자료구조의 설계->프로그램이 어떻게 사용되는지에 따라 결정(목적 및 기능에 적합한 자료구조 설계)(예) 윈도우..
//배열// - 기본개념 : 같은 데이터형 + 변수명 + 순차적인 메모리 나열 - 참조형 : new를 통해 생성한다. - Array로 부터 파생된 참조형 - foreach(처음~끝 까지의 값을 읽어낸다.)를 사용 가능하다 데이터형 [] 배열명; int [] array_name; (예) int [] array; array = new int [] ; array = new int [3]; ------------------------- int [] array = new int [3]; int [] array = new int []; -------------------------- int [] array = ; - Array.Length 속성 : 배열의 개수에 대한 정보를 가지고 있는 변수와 같다. - forea..
//연산자// 단항 연산자 : 1개의 항을 대상으로 연산을 수행하는 것 (예) +, - .! . ~. ++, -- 등 * ! 은 bool형에만 사용함 -> C#에는 true, false 가 제공 된다. (예)!true -> false , !false -> true 산술 연산자 : 계산을 위한 연산자 (예) *, /, %, -, + * string에서 +는 문자열 연결로 사용된다. (예)정수/부동 소수 + "문자열" = "문자열" 시프트(shift) 연산자와 관계 연산자 (예) , >=, , 캐스팅의 성공유무 만 확인 할 수 있는 연산자 (형식) '변수' is '클래스형 or 데이터형 ' -> A is B (결과)true or false * 박싱/ 언박싱 변환, 참조 변환에서 사용한다. as 연산자 캐스팅..
//추상(가상) 메소드 & 추상 클래스// 처리를 명시 하지 않고 호출한 쪽만 정의 된 것을 추상 메소드라고한다. 이러한 추상메소드들을 가진 클래스를 "가상(추상) 클래스"라고 한다. -> 추상클래스의 객체는 생성 할 수 없다. 상속하여 추상 메소드를 오버라이드해야한다. * 수식자를 사용하여 정의한다. ->new 로 객체 생성 불가능 * abstract class Animal { public string name; public abstract void cry(); public void main(){ } } 추상 클래스를 상속하여 객체를 생성하려면 를 붙인 멤버가 있어야한다. -> 추상 메소드는 반드시 오버라이드하여 사용해야한다. (예) public abstract class PureBase { // ab..
//클래스// 클래스는 어떤 객체의 변수와 메소드의 집합으로 프로그램을 만든다고 볼수 있고 이러한 집합을 객체 지향이라고 하고, 동일한 속성과 행위를 수행하는 객체의 집합이라고 보면된다. 간단하게 예를 들어 어떤 치킨집이 있다고 하면 치킨집에서 치킨을 주문 할때 같이 나오는 것들이 있다. 젓가락, 무, 음료. 치킨 등 각자의 기능을 가진 요소 들이 있다고 하면 이 요소들은 하나의 객체라고 볼 수 있다. 여기서 포괄적으로 볼 경우에 음료와 치킨은 각각의 종류로 나눌수 있다. 예를 들어 음료는 사이다,콜라, 환타 등으로 치킨의 경우에는 양념, 간장, 후라이드로 나눌수 있다. 이런 식으로 '어떤 입력에 대한 작업의 결과를 출력해 주는 것'을 '함수'라고 한다. 그럼 여기서 클래스는 무엇일까? 클래스는 데이터(..
//제어문// 프로그램의 흐름을 바꾸고자 할 때, 사용하는 키워드를 제어문이라고 한다. 제어문에는 등 이 존재한다. //if 문// 조건에 따라 처리를 수행 할때 사용하고, 조건에는 비교 연산자나 논리 연산자를 사용하여 조건식을 작성한다. 는 영어의 의미 그대로 "만약 ~라면" 이라는 의미를 가진다. 그리고 는 의 조건에 해당하지 않은 모든 것들은 의 조건에 해당하게 된다. (= 조건에 무관되는 모든 조건들은 ) 다음 코드를 보면 만약에 a를 2로 나누 었을 때의 나머지 가 0인 경우에는 "짝수 입니다"가 출력되고 나머지의 경우에는 홀수로 출력 되게 한다. 조건에 반대되는 모든 경우에는, 다음 블럭으로 넘어가 "홀수 입니다" 출력된다. 즉, 문 안에서 조건이 일치할 경우, 문에 들어가 처리를 하고 조건이..
//기본 데이터형// - C#의 데이터형 object로 부터 파생된 객체 System.Object == object * object는 객체를 생성하기 위한 클래스와 같다 * - 데이터형은 CTS에서 정의된 객체 *CTS : 닷넷 호환언어가 지켜야할 타입의 표준규격을 말한다. * 문자열형(string)이 배열이나 포인터로 되어 있지 않다. * - C/C++에서는 문자열 끝에 0,'\0'(NULL)을 작성 해주었다. - ' + ' : 문자열 연결, ' == ' : 문자열 비교, '[인덱스]' : 문자 (예) string str2 = "Hello_" + "word"; //[출력 ] Hello_word - 문자열에 ' \ '이 포함하는 경우,(예) @"C:\temp\test.txt" -> "C:\temp\tes..
//산술 연산자// 연산에 이용하는 +나 - 등을 연산자라고 한다. 연산자 기능 사용법 의미 + 덧셈 a= b+c b와 c를 더한 값을 a에 대입한다. - 뺄셈 a = b-c b와 c를 뺀 값을 a에 대입 *( 곱하기 a = b*c b와 c를 곱한 값을 a에 대입 / 나누기 a = b/c b를 c로 나눈 값을 a에 대입 % 나머지 a = b%c b를 c로 난눈 나머지를 a에 대입 = 대입 a = b b의 값을 a에 대입 //대입 연산자// 변수에 수치를 대입하는 ' = '연산자 ->좌변(변수), 우변(값)으로 간주한다. 연산자 기능 사용법 의미 += 더해서 대입 a += b a+b의 결과를 a에 대입 -= 배서 대입 a -= b a-b의 결과를 a에 대입 *= 곱해서 대입 a *= b a*b의 결과를 a..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.