일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 유닉스
- 문법
- Git
- UNIX
- 우분투
- 기초
- 이진 탐색
- 자기개발
- 동적 계획
- 재귀 함수
- sys.stdin.readline()
- 트리
- 그리디
- 순차 탐색
- 스택
- 배열
- type 함수
- 분할 정복
- 백준
- 자료구조
- 탐색
- 파이썬
- IT
- 알고리즘
- git hub
- 그래프
- NQueen
- 정렬
- MiniHeap
- format 메서드
- Today
- Total
목록파이썬/자료구조 (9)
코딩고치
링크드 리스트 (Linked List) 구조 연결 리스트라도 한다. 배열은 연속된 공간을 예약해 놓고 데이터를 나열하는 구조이다. 링크드 리스트는 미리 공간을 예약하지 않고 필요할 때마다 데이터를 추가할 수 있는 구조이다. 배열의 단점을 극복한 구조이다. 노드 (node) : 데이터 + 다음 데이터를 가리키는 주소 (포인터)가 하나의 데이터로 구성 포인터 (pointer): 다음 데이터를 가리키는 주소 값 노드 단위로 아무 공간이나 데이터를 저장을 해놓고 포인터를 이용하여 연결한다. 링크드 리스트 구현 # data가 2개이기 때문에 class가 유리 class Node: def __init__(self, data): self.data = data self.next = None class Node: def..
스택 데이터를 제한적으로 접근할 수 있는 구조이다. 한쪽 끝에서만 데이터를 넣고 뺄 수 있다. 가장 마지막에 넣은 데이터를 가장 먼저 출력한다. 큐 : FIFO, 스택 : LIFO (Last-In, First-out) 스택 구조 LIFO 구조 주로 프로세스의 함수 동작 방식에 주로 사용된다. 기능 push() : 데이터 넣기, pop() : 데이터 꺼내기 장단점 장점 구조가 단순하고 구현이 쉽다. 읽고 쓰는 속도가 빠르다. 단점 최대 개수를 미리 정해야 한다. 파이썬에서는 재귀 함수는 1000개로 제한되어있다. 저장 공간의 낭비 가능성 미리 최대 개수만큼 저장 공간을 지정해야 한다. item_stack = list() item_stack.append("Estus Flask") item_stack.appe..
큐 (Queue) 운영체제, 네트워크에서 많이 쓰인다. 큐 구조 가장 먼저 데이터를 가장 먼저 꺼낼 수 있는 구조이다. FIFO (First-In, First-Out) 방식으로 스택과 꺼내는 순서가 반대이다. 데이터를 출력하면 가장 먼저 넣었던 데이터가 출력이 되고 그 데이터는 queue에서 제거가 된다. 용어 Enqueue : 큐에 데이터 넣는다. Dequeue : 큐에서 데이터를 꺼낸다. 파이썬 queue 라이브러리 활용 일반적인 queue (FIFO (First-In, First-Out)) # queue 라이브러리 이용 import queue item_queue = queue.Queue() #데이터 넣기 item_queue.put("Estus Flask") item_queue.put("Ashen E..
배열 배열은 같은 종류의 데이터를 연속된 공간에 순차적으로 저장하여 데이터를 효율적으로 관리하기 위해 사용한다. S O U L Index 0 1 2 3 배열을 이용하면 "SOUL" 각각의 스펠링이 배열에 들어간다. 그리고 인덱스는 0번부터 시작한다. 장점 인덱스를 이용하여 원하는 데이터에 빠르게 접근 할 수 있다. 단점 미리 최대 길이를 지정해야 하기 때문에 데이터 추가/삭제의 어려움이 있다. 파이썬에서는 리스트를 이용하여 이런 불편함이 많이 없다. 리스트 파이썬에서는 리스트를 이용하여 배열을 구현한다. # 1차원 배열 item_list = ["Estus Flask", "Ashen Estus Flask", "Estus Shard"] item_list ['Estus Flask', 'Ashen Estus F..