용어 : 자료 구조, 데이터 구조, data structure대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미코드상에서 효울적으로 데이터를 처리하기 위해, 데이터 특성에 따라, 체계적으로 데이터를 구조화해야함 → 어떤 데이터 구조를 사용하느냐에 따라,
데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조파이썬에서는 리스트 타입이 배열 기능을 제공함기본부터 철저하게 익히세요 동기부여 영상같은 종류의 데이터를 효율적으로 관리하기 위해 사용같은 종류의 데이터를 순차적으로 저장장점: 빠른 접근 가능첫 데이
연결 리스트라고도 함배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조링크드 리스트는 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조본래 C언어에서는 주요한 데이터 구조이지만, 파이썬은 리스트 타입이 링크드 리스트의 기능을 모두 지원링크
줄을 서는 행위와 유사가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조음식점에서 가장 먼저 줄을 선 사람이 제일 먼저 음식점에 입장하는 것과 동일FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식으로 스택과 꺼내는
데이터를 제한적으로 접근할 수 있는 구조한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조(LIFO, Last-In-First-Out)큐: FIFO 정책스택: LIFO 정책스택은 LIFO(Last In, Fisr
Hash Table: 키(Key)에 데이터(Value)를 저장하는 데이터 구조Key를 통해 바로 데이터를 받아올 수 있으므로, 속도가 획기적으로 빨라짐파이썬 딕셔너리(Dictionary) 타입이 해쉬 테이블의 예: Key를 가지고 바로 데이터(Value)를 꺼냄보통 배
트리: Node와 Branch를 이용해서, 사이클을 이루지 않도록 구성한 데이터 구조실제로 어디에 많이 사용되나?트리 중 이진 트리 (Binary Tree) 형태의 구조로, 탐색(검색) 알고리즘 구현을 위해 많이 사용됨Node: 트리에서 데이터를 저장하는 기본 요소 (
힙: 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree)완전 이진 트리: 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리https://s3-us-west-2.amazonaws.com/sec
알고리즘을 잘 작성하기 위해서는 잘 작성된 알고리즘을 이해하고, 스스로 만들어봐야 함모사! 그림을 잘 그리기 위해서는 잘 그린 그림을 모방하는 것부터 시작이번 챕터부터 알고리즘 시작입니다.!연습장과 펜을 준비하자.알고리즘 문제를 읽고 분석한 후에,간단하게 테스트용으로
삽입 정렬은 두 번째 인덱스부터 시작해당 인덱스(key 값) 앞에 있는 데이터(B)부터 비교해서 key 값이 더 작으면, B값을 뒤 인덱스로 복사이를 key 값이 더 큰 데이터를 만날때까지 반복, 그리고 큰 데이터를 만난 위치 바로 뒤에 key 값을 이동https&#x
다음과 같은 순서를 반복하며 정렬하는 알고리즘주어진 데이터 중, 최소값을 찾음해당 최소값을 데이터 맨 앞에 위치한 값과 교체함맨 앞의 위치를 뺀 나머지 데이터를 동일한 방법으로 반복함https://upload.wikimedia.org/wikipedia/comm