큐 : 선입선출 (FIFO)enqueue : 데이터 넣기dequeue : 데이터 꺼내기
후입선출 (LIFO)push() : 넣기pop() : 꺼내기컴퓨터 내부의 프로세스 구조의 함수 동작 방식에서 많이 쓰임장점구조가 단순해서 구현이 쉽다.데이터 저장/읽기 속도가 빠르다.단점데이터 최대 개수를 미리 정해야 한다.저장 공간의 낭비가 발생할 수 있다.파이썬에서
링크드 리스트 (연결 리스트)노드 : 데이터 저장 단위 (데이터값, 포인터)포인터 : 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간
<1>Hash Table: 키(key)에 데이터(value)를 저장하는 데이터 구조key를 통해 바로 데이터를 받아올 수 있으므로, 속도가 매우 빨라짐파이썬의 딕셔너리 타입이 해쉬 테이블의 예보통 배열로 미리 Hash Table 사이즈만큼 생성 후에 사용파이썬은
<1>데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리 (Complete Binary Tree)완전 이진 트리: 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리배열에 데이터를 넣고, 최대값과 최소값을 찾으려면 O(n)이 걸림힙에
<1><1>트리: Node와 Branch를 이용해서, 사이클을 이루지 않도록 구성한 데이터 구조이진 트리 형태의 구조로, 탐색(검색) 알고리즘 구현을 위해 많이 사용됨용어Node: 트리에서 데이터를 저장하는 기본 요소(Branch 포함)Root Node: 트
알고리즘 복잡도 계산 항목시간 복잡도: 알고리즘 실행 속도공간 복잡도: 알고리즘이 사용하는 메모리 사이즈알고리즘(프로그래밍) 시간 복잡도의 주요 요소 : 반복문알고리즘 성능 표기법Big O (빅-오) 표기법: O(N) 알고리즘 최악의 실행 시간을 표기 가장 많이/일
알고리즘 복잡도는 시간 복잡도가 우선이지만, 공간 복잡도의 대략적인 계산이 필요할 때도 있다.빅 오 표기법에 따라, 고정 공간은 상수이므로 공간 복잡도는 가변 공간에 좌우된다.공간 복잡도는 알고리즘에서 실제 사용되는 변수를 고려하여 빅 오 표기법으로 표현 예제1 예제2
실제 세계의 현상이나 사물을 노드(Node)와 간선(Edge)으로 표현하기 위해 사용노드 (Node): 위치. 정점(Vertex)이라고도 함.간선 (Edge): 노드 간의 관계를 표시한 선으로, 노드를 연결한 선이라고 보면 됨. (link 또는 branch 라고도 함)