본문 바로가기

Computer Science/DataBase9

힙(Heap), 셋(Set) 1. 힙(Heap) 1) 우선순위 큐(Priority Queue) 순서가 아닌 우선순위를 기준으로 가져올 요소를 결정(dequeue)하는 큐 2) 힙 (Heap) 최대값 또는 최소값을 빠르게 찾아내도록 만들어진 데이터구조 완전 이진 트리의 형태로 느슨한 정렬 상태를 지속적으로 유지한다. 힙 트리에서는 중복 값을 허용한다. (1) 힙은 언제 사용해야 할까? 데이터가 지속적으로 정렬되야 하는 경우 데이터의 삽입/삭제가 빈번할때 (2) 파이썬의 heapq 모듈 Minheap(최소힙)으로 구현되어 있음(가장 작은 값이 먼저 온다.) 삽입, 삭제, 수정, 조회 연산의 속도가 리스트보다 빠르다. (배열, 연결리스트, 힙으로 구현 가능) 3) 힙 메서드 https://buyandpray.tistory.com/30 (.. 2023. 5. 4.
스택, 큐 (Stack, Queue) 1. 스택 (Stack) Stack 쌓는다. 마치 접시를 쌓고 빼듯이 데이터를 한쪽에서만 넣고 빼는 자료구조, 가장 마지막에 들어온 데이터가 가장 먼저 나가므로 LIFO(Last in First out, 후입선출) 방식이다. 파이썬은 리스트를 이용하여 스택을 편하게 구현할 수 있다. 1) 스택의 사용 예 되돌리기, 되돌아가기 등등 뒤로가기 버튼을 누르면 ▼ 2. 큐(Queue) 한쪽 끝에서 데이터를 넣고, 다른 한쪽에서 데이터를 빼는 자료구조 가장 먼저 들어온 데이터가 가장 먼저 나가므로 FIFO(First in First out, 선입선출) 방식 큐도 파이썬의 리스트로 간편하게 사용할 수 있다. 리스트를 이용한 큐 자료구조는 데이터를 뺄때 큐 안에 많은 데이터가 있으면 인덱스가 하나씩 줄어들면서 효율이.. 2023. 4. 19.
딕셔너리 (Dictionary) 1. 해시 테이블 파이썬에는 딕셔너리가 내장되어 있다. 리스트를 이용해서도 key value를 저장할 수는 있다. 딕셔너리는 해시 테이블(hash table)을 이용하여 key : value를 저장한다. 해시 함수 : 임의의 길이를 가지는 데이터를 고정 길이의 데이터로 맵핑하는 함수 해시 : 해시 함수를 통해 얻어진 값 파이썬의 딕셔너리는 해시 함수와 해시 테이블을 이용하여 연산 속도가 리스트보다 빠르다. 2. 딕셔너리 기본 문법 딕셔너리 선언 딕셔너리 삽입/수정 딕셔너리 삭제 딕셔너리 조회 딕셔너리 문법 정리 3. 딕셔너리 메서드 1) .keys() 딕셔너리의 key목록이 담긴 dict_keys 객체 반환 2) .values() 딕셔너리의 value 목록이 담긴 dict_values 객체 반환 3) ... 2023. 4. 19.
문자열 (String) 1. 문자열 슬라이싱 list s 가 존재할 시 s[시작 인덱스 : 끝 인덱스] 이렇게 사용 가능하다. 시작은 모함되지만, 끝 인덱스는 바로 앞에서 멈춘다. 인덱스를 뒤에서 접근하고 싶을시 마지막 인덱스 '-1' 이렇게 접근 가능하다. s[시작 : 끝 : 간격] 간격을 통해 몇칸씩 건너서 슬라이싱 할지 정할 수 있다. s[시작 : 끝 : 간격] 간격을 음수로 가져오면 역순으로 슬라이싱 가능하다. 이 경우 시작과 끝 인덱스도 역순으로 고려하여 지정해준다. 인덱스를 비우고 슬라이싱 할 경우 그냥 끝까지 진행한다. 2. 문자열 메서드 1) .split(기준 문자) 문자열을 기준으로 나누어 리스트로 반환한다. (공백이면 스페이스" " 를 기준으로 나눠) 2) .strip(제거할 문자) 문자열 양 끝에 있는 특정.. 2023. 4. 17.