목록2024/03/28 (4)
Seung's Learning Record
≣ 목차 PEP8 스타일 PEP 8 PEP8 : 파이썬 개선 제안서, 파이썬 코드를 어떻게 구상할 지 알려주는 스타일 가이드 PEP8 전체 가이드 다른 사람과 원활하게 협업하려면 공통된 스타일 공유가 필요 일관성 있는 스타일은 나중에 수정하기도 쉽다. whitespace 한 줄의 문자 길이가 79자 이하여야 한다. 함수와 클래스는 빈 줄 두개로 구분한다. 클래스에서 메서드는 빈 줄 하나로 구분한다. 변수 할당 앞 뒤에 스페이스를 하나만 사용한다. 리스트 인덱스, 함수 홏ㄹ, 키워드 인수 할당에는 스페이스를 사용하지 않는다. naming 함수, 변수, 속성 : lowercase_underscore 보호(protected) 인스턴스 속성 : _leading_underscore 비공개(private) 인스턴스..
≣ 목차 큐 큐 자료를 보관할 수 있는 선형 구조로 push(enqueue)와 pop(dequeue)이 반대에서 이루어지기 때문에 선입선출(FIFO)방식을 채택한 자료구조이다. 큐는 자료를 생성하는 작업과 그 자료를 이용하는 작업이 비동기적으로 일어날 때 사용된다. 또한 자료 생성이 여러 곳에서 발생하거나, 자료 이용이 여러 곳에서 발생할 때 사용된다. 스택과 마찬가지로 큐 역시 배열(리스트)과 연결 리스트(이중 연결 리스트)를 이용하여 구현가능하다. 연산 종류 설명 배열 시간 복잡도 연결 리스트 시간 복잡도 size() 현재 큐에 들어 있는 데이터 원소 수 반환 O(1) O(1) isEmpty() 현재 큐가 비어 있는지 판단 O(1) O(1) enqueue() 원소 x를 큐에 push O(1) O(1)..
≣ 목차 리스트 파이썬에는 다른 언어들에서 다뤄지는 배열과 유사한 성질의 리스트(list)라는 자료구조가 존재한다. 동일한 자료형만 가질 수 있는 배열과는 달리, 리스트는 다양한 자료형을 하나의 리스트 안에 담을 수 있다. 선언 방법 a = [1,2,'a','b',"xyz"] b = [] c = list() d = [0]*10 #[0,0,0,0,0,0,0,0,0,0] e = [i*2 for i in range(5)] #[0,2,4,6,8] 리스트는 위와 같은 다양한 방법을 통해 선언이 가능하다. 연산 a = [1,2,3] b = ['a','b','c'] c = a+b #[1,2,3,'a','b','c'] d = a*3 #[1,2,3,1,2,3,1,2,3] e = a*0 #[] 이처럼 리스트 사이의 덧셈이..
≣ 목차 해시(Hash) 해시 개념 해시란 해시 테이블에 Key와 Value를 매핑해서 데이터를 저장하는 자료구조이다. 주로 데이터 탐색, 삽입, 집계등의 연산을 할때 유용하며, 인덱스 값이 숫자가 아닌 문자열이나 튜플을 때도 유용하다. 하지만 최댓값과 최솟값을 찾는 문제는 자료구조 전체를 탐색해야 하기 때문에 효율성이 떨어진다는 단점이 있다. 해시 (Hash) : 임의 값을 고정 길이로 변환하는 것 해시 테이블 (Hash Table) : 키 값의 연산에 의해 직접 접근이 가능한 데이터 구조 해싱 함수 (Hashing Function) : Key에 대해 산술 연산을 이용해 데이터 위치를 찾을 수 있는 함수 해시 값 (Hash Value) 또는 해시 주소 (Hash Address) : Key를 해싱 함수로..