본문 바로가기
728x90

TIL - 프로그래밍/개념, 설정44

[Python] Queue1 (선형큐, 원형큐) 큐(Queue)의 특성 삽입과 삭제의 위치가 제한적인 자료구조 선입선출구조(FIFO : First In First Out) 큐의 주요 연산 enQueue(item) : 큐의 뒤쪽(rear 다음)에 원소를 삽입하는 연산 deQueue() : 큐의 앞쪽(front)에서 원소를 삭제하고 반환하는 연산 createQueue() : 공백 상태의 큐를 생성하는 연산 isEmpty() : 큐가 공백상태인지 확인하는 연산 isFull() : 큐가 포화상태인지 확인하는 연산 Qpeek() : 큐의 앞쪽(front)에서 원소를 삭제 없이 반환하는 연산 ❗ append(),pop() 이용 시 느려짐 선형큐 1차원 배열을 이용한 큐 큐의 크기 = 배열의 크기 front : 저장된 첫 번째 원소의 인덱스 rear : 저장된 마.. 2022. 3. 17.
[Python] Django 2 Model 단일한 데이터에 대한 정보를 가짐 Django는 model을 통해 데이터에 접속하고 관리 각각의 model은 하나의 데이터베이스 테이블에 매핑 됨 웹 애플리케이션의 데이터를 구조화하고 조작하기 위한 도구 DB 데이터베이스 체계화된 데이터의 모임 Query 쿼리 데이터를 조회하기 위한 명령어, 조건에 맞는 데이터를 추출하거나 조작하는 명령어 Query를 날린다. => DB를 조작한다. Schema 스키마 데이터베이스에서 자료의 구조, 표현방법, 관계 등을 정의한 구조 Tabel 테이블 열 : 필드 or 속성 (각 열에는 고유한 데이터 형식이 지정) 행 : 레코드 or 튜플 (테이블의 데이터는 행에 저장) 기본키 : 각 행의 고유값 Primary Key, 반드시 설정, DB 관리 및 관계 설정시 .. 2022. 3. 15.
[Python] Django 1 Django : Python Web framework 대규모 서비스에도 안정적이며 오랫동안 세계적인 기업들에 의해 사용됨 MTV Pattern Web framework 웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이는 것이 주 목적으로 데이터베이스 연동, 템플릿 형태의 표준, 세션관리, 코드 재사용 등의 기능을 포함 MTV Pattern Model : 응용프로그램의 데이터 구조를 정의하고 데이터베이스의 기록을 관리 Template : 파일의 구조나 레이아웃을 정의, 실제 내용을 보여주는데 사용 View : HTTP 요청을 수신하고 HTTP 응답을 반환, Model을 통해 요청을 충족시키는데 필요한 데이터에 접근, template에게 응답의 서식 설정을 맡김 # Django 설치 pip install d.. 2022. 3. 14.
[Python] 인접 행렬,인접 리스트 만들기(pprint) ''' 입력 값 7 8 1 2 1 3 2 4 2 5 4 6 5 6 6 7 3 7 ''' # V : 정점의 개수, E : 간선의 개수 V,E = map(int,input().split()) arr = list(map(int,input().split())) # 인접 행렬 adj = [[0]*(V+1) for _ in range(V+1)] # 인접 리스트 adjList = [[] for _ in range(V+1)] for i in range(E): n1,n2 = arr[i*2],arr[i*2+1] adj[n1][n2] = 1 # n1과 n2 인접 adj[n2][n1] = 1 # 방향 표시가 없는 경우 adjList[n1].append(n2) adjList[n2].append(n1) print(adj) pri.. 2022. 3. 12.
[Python] 순열, 재귀 1,2,3,4로 순열 만들기 def f(i,N): if i == N: print(p) else: for j in range(i,N): p[i],p[j] = p[j],p[i] f(i+1,N) p[i], p[j] = p[j], p[i] # 복구 N = 4 p = [x for x in range(1,N+1)] f(0,N) 2022. 3. 8.
[Python] 부분집합 - 순열2 1. 합이 10인 부분집합 구하기 ( 모든 경우 확인) def f(i,N,K): # i부분집합에 포함될지 결정할 원소의 인덱스, N 전체 원소개수, K 찾는 합 global cnt cnt += 1 if i == N : # 한개의 부분집합 완성 # print(bit, end=' ') sum = 0 for j in range(N): if bit[j]: sum += a[j] if sum == K: # 찾는 합이면 for j in range(N): if bit[j]: print(a[j], end=' ') print() else: bit[i] = 1 f(i+1,N,K) bit[i] = 0 f(i+1,N,K) return a = [1,2,3,4,5,6,7,8,9,10] N = len(a) bit = [0]*N cn.. 2022. 3. 7.
반응형