
클래스, 함수, 변수등을 선언할 때의 이름을 짓는 약속이며, 이름만 보고 구분하기 쉽게하기 위함이다.Pascal표기법: Class를 네이밍할 때 사용하며 각 단어를 대문자로 구분한다. ex) HelloWorld, PythonIsVeryGoodSnake표기법: 함수, 변

파이썬에 내장되어있는 모듈은 ctrl을 누르고 확인 가능하다

수정 불가능한 객체: immutable 객체 ex)int, float, str, tuple수정 가능한 객체: mutable 객체 ex)list, dict변수 a는 문자열 객체를 바인딩하고 변수 b는 리스트 객체를 바인딩한다 a, b 변수가 바인딩하는 각 객체의 주소를

리스트의 특정 원소를 조회시는 시간복잡도가 O(1)이 걸리지만,리스트에 특정 원소를 삽입,삭제시는 O(N)이 걸리게된다.이때 linked list(연결리스트)를 사용하면 삽입,삭제시 O(1)이 걸린다.각 노드는 값이 들어있고 다음 값을 가리키는 .next라는 구조로 되

스택은 선입후출의 모델이다. 쌓은 데이터에서 가장 최근에 쌓은 데이터를 꺼내어 접근하는 방식으로 사용한다.위는 스택의 구조 예시이다.연결리스트의 구조이고, push시 노드의 .top에 value를 집어넣는다. 이때 .next값은 self.top을 갖게 되는것이 핵심이다

Que의 구조

해시테이블의 Key값은 해시함수에 의해 고유한 index를 가지게 되어 바로 접근할 수 있으므로 평균 O(1)의 시간복잡도로 데이터를 조회할 수 있다. 하지만 데이터의 충돌이 발생한 경우 Chaining에 연결된 리스트들까지 검색을 해야 하므로 O(N)까지 시간복잡도
패키지는 "점으로 구분된 모듈 이름"을 사용하여 Python의 모듈 네임스페이스를 구조화하는 방법입니다. 예를 들어, 모듈 이름은 . 이라는 패키지에 A.B명명된 하위 모듈을 지정합니다. 모듈을 사용하면 서로 다른 모듈의 작성자가 서로의 전역 변수 이름에 대해 걱정할

동기(synchronous)는 작업을 진행할 때 순차적으로 진행하는 방식이다
