설치방법링크Virtual Environment : 프로젝트별로 패키지들을 담을 공구함어떤 프로젝트를 만들때 영화 프로젝트 영화를 예매하기 위한 시스템을 준비해야하고지도 시스템이면 지도를 위한 라이브러리들을 담아놔야한다. 프로젝트별로 패키지들을 따로따로 보관하고 싶을 때
프로그래밍에서 데이터를 구조적으로 표현하는 방식과 이를 구현하는 데 필요한 알고리즘에 대해 논하는 기초이론효율적인 자료구조란?프로그램의 실행시간 효율과 저장공간 효율을 의미한다.(실행시간 혹은 메모리 용량과 같은 자원을 최소한으로 사용하면서 연산을 수행하도록 해주는 것
입력값과 문제해결시간과의 상관관계입력값이 2배로 늘어났을 때 문제해결시간이 몇 배로 늘어나는 가?입력값이 늘어도 시간이 적게 늘어나는 알고리즘이 좋은 알고리즘!앞의 파트2에서 알고리즘 예제1 최댓값 찾기 방법1을 가지고 시간 복잡도를 판단해보기각 줄이 실행되는 것이 1
알고리즘의 성능을 수학적으로 표기하는 방법(효율성)알고리즘의 최악의 성능이 나올 때 어느 정도의 연산량을 가질 것인지에 대한 것"$O(N)$의 시간복잡도를 가진 알고리즘이다."최선의 성능이 나올 때 어느 정도의 연산량을 가질 것인지에 대한 것"$Ω(1)$의 시간복잡도를
데이터가 많아지면 그룹 관리의 필요성이 생겨 프로그래밍에서 사용하게 된 것이 배열이라는 자료구조배열을 이용하면 하나의 변수에 여러 정보를 담을 수 있고, 반복문과 결합하면 많은 정보도 효율적으로 처리할 수 있다.배열은 크기가 정해진 데이터의 공간으로 한번 정해지면 바꿀
Node 라는 클래스를 만들어서 data를 받아 클래스 내부 변수인 self.data에 받은 data 저장현재는 self.data 하나밖에 없기 때문에 다음 노드는 None인 상태print(node) : - print(node.data) : xx 주소를 가진 클래스
BigO - $O(LogN)$정렬된 자료를 반으로 나누어 탐색하는 방법주의사항 : 자료는 반드시 오름차순으로 정렬된 자료여야 한다.BigO - $O(N)$순서대로 찾는다. 성능평가시 비교대상으로 사용하고 정렬방식이 상관 없다.이진 탐색을 반복할수록 남아있는 탐색할 자료
함수 정의 내에 같은 이름의 함수가 올 때 이를 재귀함수라 한다.반드시 탈출조건이 있어야 stack overflow를 방지할 수 있다.문제가 반복취소될 때 재귀함수를 사용한다.보신각 카운트다운60 ~ 0까지 세기0~n 까지의 합 구하기팩토리얼1~n 까지의 곱 구하기희문
데이터의 집합일상생활 대부분의 정보가 저장되고 관리된다.(카카오톡 메세지, 인스타그램 등록사진, 버스/지하철에서 찍은 교통카드, 카페에서 결제한 아메리카노의 정보 등)데이터베이스를 관리하고 운영하는 소프트웨어은행의 예금 계좌같은 많은 사람이 가지고 있는 정보를 모아 놓