기록 블로그

전체 글 73

04/12 3일차 자료구조 & 알고리즘 (3)

자료구조 & 알고리즘 주요 메모 사항 큐 (Queues) 선입선출(FIFO) 특성을 가지는 자료구조 선입선출의 말그대로 넣은 순서대로 뺼 수 있음 큐에 넣는 동작을 인큐 (enqueue), 빼는 동작을 디큐(dequeue) 라고함 '표를 사기 위해 줄을 서는 사람들' 이라고 생각 연결 리스트와 이중 연결 리스트로 구현했을때 복잡도 차이를 생각해보기 더보기 class LinkedListQueue: def __init__(self): # 이전 포스팅의 이중 연결 리스트 import self.data = DoublyLinkedList() def size(self): return self.data.getLength() def isEmpty(self): return self.size() == 0 def enque..

04/11 2일차 자료구조 & 알고리즘 (2)

자료구조 & 알고리즘 주요 메모 사항 추상적 자료구조 (Abstract Data Structures) Data (예 : 정수, 문자열, 레코드) A set of operations (삽입, 삭제, 순회 / 정렬, 탐색 ) 연결 리스트 (Linked Lists) 기본적으로 연결 리스트는 추상적 자료형 (List) 을 구현하기 위한 자료구조 이미지에서 ㅁㅁ 모양의 공간을 노드 (Node) 라고함 일반적으로 노드는 Data와 Link로 나뉘어짐 첫번째 노드를 Head, 마지막 노드를 Tail, 노드의 개수를 알고 있는게 좋음 # of nodes : 5 배열 연결 리스트 저장 공간 연속적인 위치 임의의 위치 특정 원소 선택 간단함 선형 탐색과 유사 원소 선택 Big-O O(1) O(n) 더보기 연결 리스트 (L..

04/10 1일차 자료구조 & 알고리즘

자료구조 & 알고리즘 주요 메모 사항 선형배열(Linear Array) (Linear Array)와 List의 차이 이해 배열의 메모리 공간은 반드시 연속적 리스트의 메모리 공간은 연속적일수도 있고 아닐수도 있음 정렬 (sort) 과 탐색(search) (git에 정리해둔 주소) 정렬 | 탐색 대표적인 2가지 정렬 list.sort() # 리스트의 메소드, 원본 객체에 적용 sorted(list) # 파이썬의 내장함수, 새로운 객체를 반환 탐색 (search) 선형탐색 (linear search), 순차 탐색 (sequential search) 보통 정렬되지 않은 리스트에서 데이터를 찾을 때 사용. 말그대로 순차적으로 모든 요소를 탐색, 시간만 충분하다면 원하는 원소를 항상 찾을 수 있음. 최악의 경우 ..