해쉬 (Hash) 해쉬함수를 사용하여 색인을 버킷이나 슬롯의 배열로 계산한다. 데이터의 검색과 저장이 아주 빠르게 진행된다 여기서 헤드를 셋팅하는건 자료구조 마다 다르니 잘 기억 하도록 하자 ! 시작 ! class Dict: def __init__(self): self.items = [None] * 8 #테스트할 배열 8개를 생성함 기능 ! put() : 받은 키 벨류값을 저장 def put(self, key, value): index = hash(key) % len(self.items) #해쉬값(랜덤)키로 받은 임의의 숫자를 #배열의 최대길이로 나눈 값을 인덱스번호로 저장 self.items[index] = value #위에 생성한 인덱스 번호에 데이터값을 넣어준다 return get() : 받은 키로..
개-발/Python
큐 (Queue) 한쪽에서 들어가면 반대쪽으로 나온다!! (First In First Out : FIFO 삐뽀ㅋ) 큐는 데이터를 넣고 뽑는걸 자주하는 자료구조이다. 스택과 유사하게 구현이 가능하다. *)스택과는 다르게 큐는 시작과 끝의노드를 전부 가지고 있어야 한다. 주문들어온 순서대로 처리 해야할 때 사용한다. ex) 웨이팅 여기서 헤드를 셋팅하는건 자료구조 마다 다르니 잘 기억 하도록 하자 ! *)스택과는 다르게 큐는 시작과 끝의노드를 전부 가지고 있어야 한다. 시작 ! class Queue: def __init__(self): self.head = None self.tail = None 기능 ! enqueue() :마지막 데이터에 새로운 데이터를 삽입한다. def enqueue(self, value..
스택 (Stack) 게임의 그 스택이 맞다 계속 쌓이는 구조이다(Last In First Out : LIFO 리뽀) ex) 컴퓨터 되돌리기 (Ctrl + z) 여기서 헤드를 셋팅하는건 자료구조 마다 다르니 잘 기억 하도록 하자 ! 시작 ! class Stack: # 스택 생성 def __init__(self): self.head = None 기능 ! push() : 맨 위에 데이터 넣기 def push(self, value): # 헤드 교체 new_head = Node(value) # 들어온 밸류를 새로운 헤드에 담기 new_head.next = self.head # 새로운 헤드의 다음 노드에 현재 헤드 옮기기 self.head = new_head # 새로운 헤드를 헤드노드로 지정 pop() : 맨 위의..
파이썬은 배열과 링크드 리스트 두가지 종류의 배열(?)이 있다고 한다 ㅎㅎ...후 1. Array 특징은 이러하다 [0] - [1] - [2] - [3] - [4] - [5] - [6] - [7] 8개의 배열에서 +1개를 더 추가 하려고 하면 [] - [] - [] - [] - [] - [] - [] - [] - [] 0 1 2 3 4 5 6 7 8 9개의 방을 만들어준 후 복사 이동 해야 한다. 한번 만들어진 배열은 새로 추가 하려면 새로운 배열을 만든 후 이동 해야 한다 2. Linked List # 처음 상태 내 위치 train_compartments = ["기관실"] -> ["시멘트"] -> ["자갈"] -> ["밀가루"] -> ["우편"] # 1번 이동 내 위치 train_compartments..
자료 people = [ {'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}, {'name': 'john', 'age': 7}, {'name': 'smith', 'age': 17}, {'name': 'ben', 'age': 27}, {'name': 'bobby', 'age': 57}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25} ] Map def check_adult(person): return '성인' if person['age'] > 20 else '청소년' result = map(check_adult,people) 변수명 = map (조건대상함수,대상값) map 은 오브젝트 형태이기 때문에 l..
자바 익히기도 어려운 요즘 알고리즘을 위해 파이썬도 배우는 중이다 ㅎㅎ;;ㅎ;ㅎ;ㅎ;;ㅎ;ㅎ 변수 설정 변수명 = 설정값 결과값 ex) a = 1 print(a) 반복문 for 변수이름 in 배열 : 출력값 ex) fruits = ['사과', '배', '귤', '라임'] for a in fruits: print(a) 결과: ['사과', '배', '귤', '라임'] 반복문 간결하게 사용하기 a_list = [1,5,4,7,4,2] b_list = [] # for a in a_list: # b_list.append(a*2) b_list = [a*2 for a in a_list] print(b_list) 조건문 if 조건 : 출력 조건을 더 추가 해야 한다면 ? : if 조건 : 출력 elif 조건 : 출력 ..