목록all (177)
오식랜드
logn < n < nlogn < n^2 < n^3 < 2^n < n! 수행시간을 좌우하는 기준 for 루프 반복 횟수 함수의 호출 횟수 특정 행의 수행 횟수 *n = A[] 배열의 원소 수 상수시간 n 데이터 개수 n일때, n에 비례하는 시간이 소요됨 n의 수가 증가할수록 오래걸림 sample1(A[ ], n) { k = ; return A[k] ; } sample2(A[ ], n) { sum ← 0 ; for i ← 1 to n sum← sum+ A[i] ; return sum ; } n^2 n2에 비례하는 시간이 소요 sample3(A[ ], n) { sum ← 0 ; for i ← 1 to n for j ← 1 to n sum← sum+ A[i]*A[j] ; return sum ; } sample..
예제 : 임의의 수 x 찾기 문제: 크기가 n인 배열 S에 x가 있는가? 입력(파라미터): (1) 양수 n, (2) 배열 S[1..n], (3) 키 x 출력: x의 위치, 만약 없으면 0. 알고리즘(자연어): x와 같은 원소를 찾을 때까지 S에 있는 모든 원소를 차례로 검사한다. 만일 x 와 같은 원소를 찾으면 S 에서의 그 위치를, S 를 모두 검사하고도 찾지 못하면 0을 내준다 1. 순차 탐색 void seqsearch(int n, // 입력(1) const keytype S[], // (2) keytype x, // (3) index& location) { // 출력 location = 1; while (location n) location = 0; } while-루프: 아직 검사할 항목이 있고, ..
알고리즘 문제에 대한 해답을 찾기 위한 체계적인 “문제 해결 절차” 항상 “효율적인 알고리즘”을 고안하는게 중요 최초의 알고리즘 : 유클리드의 최대공약수 알고리즘의 특성 정확성 : 주어진 입력에 대한 올바른 해 도출 수행성 : 각 단계는 컴퓨터에서 수행 가능해야 한다. 유한성 : 무한루프X, 단계를 마친 후 종료되어야 한다. 효율성 : 효율적일수록 가치가 높아진다 효율성의 척도 : 시간 복잡도 / 공간 복잡도 정확한 알고리즘 : 어떠한 입력에 대해서도 답을 출력하면서 멈추는 알고리즘 정확하지 않은 알고리즘 : 어떤 입력에 대하여 멈추지 않거나 틀린 답을 출력하면서 멈추는 알고리즘 문제의 표기 방법 문제 파라미터 : 문제에서 특정 값이 주어지지 않은 변수 문제의 사례 (입력) : 파라미터에 특정 값 지정 ..
테스트 코드 위치 : myApp/tests.py 테스트 명령어 Beautifulsoup4 필요 pip install beautifulsoup4 python manage.py test 테스트 코드 같은지 / 같지 않은지 assertEqual(a, b) : a == b assertNotEqual(a, b) : a ≠ b 참인지 / 거짓인지 assertTrue(a) : a == True assertFalse(a) : a == False 맞는지 / 맞지 않은지 assertIs(a, b) : a is b assertIsNot(a, b) : a is not b None인지 / None이 아닌지 assertIsNone(a) : a is None assertIsNotNone(a) : a is not None 안에 있는..
1. 변수 : {{ }} 2. 코멘트 : {# #} 혹은 {% comment %} {% endcomment %} 3. 태그 : {% %} ({% for i in myData %} {% endfor %} 4. 필터 : {{ i.text | truncatechars:10 }} --> 10글자 까지만 보여주는 필터
상속 : 특정 클래스가 가지는 일부 속성/행위를 다른 클래스에게 제공하기 위해 맺는 관계 기존 클래스의 멤버를 그대로 이용 가능 새로운 멤버 추가 가능 기존 클래스의 멤버를 수정하여 사용하기 가능 ⇒ 코드의 재사용 용이 (오류 최소화 / 유지보수 용이 / 개발 시간 단축) 예시 대학생 집단 + 고등학생 집당 ⇒ “학생” 이라는 공통점 ⇒ “학생” 클래스(공통적인 내용을 담는 클래스) 생성 후 대학생/고등학생에 상속 ⇒ 대학생 / 고등학생 각각에 필요한 정보를 담는 멤버변수는 각자 선언 (대학생 → 전공 등 / 고등학생 → 학년, 반 등) IS-A / HAS-A 관계 IS-A : 상속 ~ 중 하나 “대학생”은 “학생” 중 하나 HAS-A : 포함 ~ 을 갖는 클래스 간 연관성이 낮아 상속으로 표현하지 않음..