본문 바로가기

Computer Science/Algorithm48

[파이썬] DAY10 트리 1:다 관계: 원소들 간의 계층이 존재한다. 하위 원소로 내려가면서 확장되는 구조 1. 트리 기본개념 가계도를 생각하면 된다. : 자식 부모 관계, 자손, 손자, 레벨, 단말 노드 루트노드 자손 노드 조상 노드: 간선으로 연결되어 있지 않으면 조상이 아니다. K, C의 관계 단말 노드 형제 노드 부모 노드 자식 노드 노드들은 간선으로 연결되어 있다. 서브 트리: 노드 하나만 있어도 트리라고 한다. 차수 차수: 노드에 연결된 간선의 개수 = 나랑 연결된 선 트리의 차수: 트리에 있는 노드의 차수들 중에서 가장 큰 값 높이 노드의 높이: 루트에서부터 노드까지 이어진 간선의 개수 트리의 높이: 트리에 있는 노드의 높이들 중에서 가장 큰 값 포리스트(forest) : 서브트리들의 집합 2. 이진 트리 이진트리:.. 2022. 1. 27.
[파이썬] DAY10 스택&큐 l = [] l.append("data1") # 우측에서 넣는다. l.pop(0) # 인덱스를 넣어 가장 왼쪽에서 빼낸다. l1 = [1,2,3,4] l2 = [2,3,4,5] print(id(l1)) # 리스트 객체의 주소를 보여준다. print(id(l2)) #l1 = l1 + l2 #print(id(l1)) # 새로운 주소를 만들어버린다. l1 = l1.extend(l2) print(id(l1)) # 새로운 주소를 만들어버린다. 순차리스트이기 때문에 주소가 바뀌지만 동적 할당이기 때문에 연결리스트처럼 동작할 수 있다. 1. 스택 1:1 관계인 선형 관계로 쌓는다. 선입후출 = 후입선출 LIFO 스택을 쓰는 이유 시스템은 스택형식으로 동작한다. 스텍 프레임 삽입연산: push 삭제연산: pop(입출구.. 2022. 1. 27.
[파이썬] DAY10 리스트 복습 복습 리스트 순차 리스트 : 삽입, 삭제 시 이동이 발생한다. (빈도수 증가) 파이썬의 리스트는 순차리스트이다. 하지만 파이썬의 가변의 특징으로 연결 리스트로 쓸 수 있다.(동적 할당) 다른 언어는 정적 할당이므로 순차리스트이다. 인덱스가 있으면 모두 순차리스트이다. 단순 연결 리스트 구현 코드 class SList: class Node: def __init__(self,data, link): self.data = data self.next = link def __init__(self): self.head = None self.size = 0 def is_empty(self): return self.size == 0 def insert_front(self,item): if self.is_empty(): .. 2022. 1. 27.