자료구조 3

[파이썬] 자주쓰이는 파이썬 자료구조 & 메소드 시간복잡도

list 순서가 있는 수정가능한 객체의 집합. 수정, 삭제, 추가가 가능합니다. list 는 [] 대괄호로 선언되어지며, 내부 원소는 ,로 구분됩니다. import copy ## List init ## list = [] list = list() ## Append ## -- O(1) list.append(3) list.append(5) ## Extend ## -- O(k) list.extend([8,7,4,1,2,6]) ## Delete ## -- O(n) del list[1] list.remove(1) ## Sort ## -- O(nlogn) list.sort() #오름차순 list.sort(reverse=True) #내림차순 res = sorted(list) ## Pop ## list.pop() #가장..

Code/파이썬 2021.10.04

[자료구조] Python_Minimum Stack, Queue : O(1) 시간복잡도로 최솟값을 반환하는 함수를 구현하라.

Stack 알고리즘에서 O(1) 시간복잡도로 최솟값을 반환하는 방법 1. Stack 을 push 할 때, [원소 x, 현재까지 스택에 저장된 원소 중 최솟값] 저장하면 된다. class minimum_Stack(): def __init__(self): self.Stack = [] #파이썬은 리스트를 스택으로 사용가능 def push(self, element): # 스택 push if not self.Stack: self.Stack.append([element, element]) else: # 현재 스택의 최솟값(top.second)과 입력값을 비교하여 추가시킴. self.Stack.append([element, min(element, self.Stack[-1][1])]) def pop(self): ret..

CS 2021.10.03

[자료구조] Hash 란? Hash Table 이란?

Hash : Hash Table에 존재하는 해시함수의 결과물이다. 저장소에서 value와 매칭되어 저장된다. Hash Table : key 와 value 가 한 쌍 으로 존재하는 자료형. (연관배열 구조) 키(key), 해시함수(hash function), 해시(hash), 저장소(buckets), 값(value)로 이루어져 있다. 파이썬의 dictionary. 키 값이 배열의 인덱스로 변환되기 때문에, 검색과 저장의 평균 시간복잡도가 O(1)에 수렴한다.

CS 2021.09.29
반응형