본문 바로가기

programming/자료구조

(4)
Stack 영상으로 한눈에 정리하기 꼭 알아둬야 할 자료 구조: 스택 (Stack) 데이터를 제한적으로 접근할 수 있는 구조 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조 큐: FIFO 정책 스택: LIFO 정책 1. 스택 구조 스택은 LIFO(Last In, Fisrt Out) 또는 FILO(First In, Last Out) 데이터 관리 방식을 따름 LIFO: 마지막에 넣은 데이터를 가장 먼저 추출하는 데이터 관리 정책 FILO: 처음에 넣은 데이터를 가장 마지막에 추출하는 데이터 관리 정책 대표적인 스택의 활용 컴퓨터 내부의 프로세스 구조의 함수 동작 방식 주요 기능 push(): 데이터를 스택에 넣기 ( Queue 에서는 Enqueue ) po..
큐 (Queue) 영상으로 한눈에 정리하기 1. 큐 구조 줄을 서는 행위와 유사 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 음식점에서 가장 먼저 줄을 선 사람이 제일 먼저 음식점에 입장하는 것과 동일 FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식으로 스택과 꺼내는 순서가 반대 2. 알아둘 용어 Enqueue: 큐에 데이터를 넣는 기능 Dequeue: 큐에서 데이터를 꺼내는 기능 Visualgo 사이트에서 시연해보며 이해하기 (enqueue/dequeue 만 클릭해보며): https://visualgo.net/en/list VisuAlgo - Linked List (Single, Doubly), Stack, Queue, Deque VisuAlgo is fre..
배열 꼭 알아둬야 할 자료 구조: 배열 (Array)¶ 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 파이썬에서는 리스트 타입이 배열 기능을 제공함 기본부터 철저하게 익히세요 동기부여 영상 1. 배열은 왜 필요할까? 같은 종류의 데이터를 효율적으로 관리하기 위해 사용 같은 종류의 데이터를 순차적으로 저장 장점: 빠른 접근 가능 첫 데이터의 위치에서 상대적인 위치로 데이터 접근(인덱스 번호로 접근) 단점: 데이터 추가/삭제의 어려움 미리 최대 길이를 지정해야 함 엑셀로 이해해보기 C 언어 예: 영어 단어 저장 Raw NBConvert FormatNoneLaTeXreSTHTMLMarkdownPythonCustom #include ​int main(int argc, char * argv[]..
배열 (Array) 배열 (Array) 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 파이썬에서는 리스트 타입이 배열 기능을 제공함 1. 배열은 왜 필요할까? 같은 종류의 데이터를 효율적으로 관리하기 위해 사용 같은 종류의 데이터를 순차적으로 저장 장점: 빠른 접근 가능 첫 데이터의 위치에서 상대적인 위치로 데이터 접근(인덱스 번호로 접근) 단점: 데이터 추가/삭제의 어려움 미리 최대 길이를 지정해야 함 이렇게 중간의 Data 를 삭제하게 되었을때 뒤에 Data 를 당겨서 사용하게 되면서 Index값이 같이 변하게 된다 C 언어 ex) 영어 단어 저장 Python ex) 영어 단어 저장 2. 파이썬과 배열 파이썬에서는 리스트로 배열 구현 가능 1차원 배열 list = [ 1, 2, 3 ] 2차원 배..