자료구조 2

TIL_자료구조 stack

자료구조 중 stack을 배웠다. stack은 프링글스 과자를 생각하면 된다. 쌓여져 있는 과자의 형태. 이것이 stack이다. stack을 구현하는 코드를 작성했다. class Node: def __init__(self, item, next): self.item = item self.next = next class Stack: def __init__(self): self.top = None def is_empty(self): return self.top is None def push(self, val): self.top = Node(val, self.top) def pop(self): if not self.top: return None node = self.top self.top = self.top.n..

TIL_Algorithm

오전에 첫 번째 Algorithm 특강을 들었다. 알고리즘이란, 컴퓨터가 따라 할 수 있도록 문제를 해결하는 절차나 방법이다(구글 검색 결과). Computational thinking이 프로그래밍이나 알고리즘 문제를 풀 때 뿐만이 아니라 다른 분야 혹은 일상 생활 속에서 컴퓨팅 사고를 하는 것은 많은 도움이 된다. 좋은 알고리즘의 기준으로 공간 복잡도와 시간 복잡도가 있다. 공간 복잡도 프로그램을 실행 및 완료하는데 필요한 저장 공간의 양, 컴퓨터 저장공간의 기술 발달로 그렇게 중요하지는 않음. 시간 복잡도 특정 알고리즘이 어떤 문제를 해결하는데 걸리는 시간. - 빅오메가(Big-Ω): 최선의 경우 - 빅세타(Big-Θ): 평균(중간) - 빅오(Big-O): 최약의 경우 배열의 길이만큼 순회를 해야 함..

LIST