프로그래밍/자료구조 & 알고리즘
[Python & Data Structure] Tree
* 잘못된 내용이 있다면 댓글로 바로잡아주시면 감사드리겠습니다 ✏️ Tree (트리의 개념) 리스트나 스택, 큐로 가계도나 조직도를 구현할 수 있을까? 선형자료구조로는 계층형 구조를 표현하기 어렵다. 계층형 구조를 가진 문제를 해결하기 위한 자료구조가 '트리'이다. 무방향 그래프의 한 구조 하나의 데이터 뒤에 여러개의 데이터가 존재할 수 있는 비선형 구조이다. 계층적으로 표현되며 아래로만 뻗어나가기에 사이클이 없다 루트라는 하나의 꼭짓점 데이터를 시작으로 여러개의 데이터를 간선으로 연결한다. 트리구조는 각 데이터를 노드라고 하며, 두개의 노드가 상하계층으로 연결되면 부모/자식 관계를 가진다. 자식이 없는 노드는 leaf node라고 부른다 Tree는 깊이와 높이, 레벨등을 측정할 수 있다. ✏️ Tree..
[Python & Data Structure] Queue, Stack, Linked List
✏️ Queue (큐의 개념) 먼저 들어간 데이터가 먼저 나오는 FIFO(First In First Out) 혹은 LILI(Last In Last Out)을 특징으로 하는 자료구조다.데이터가 입력된 순서대로 처리되어야할 떄 주로 사용이 된다. 정해진 한 곳(top)을 통해서 insert, delete가 이루어지는 stack과 달리 Queue는 한쪽 끝(rear)에서 insert, 다른 쪽 끝(front)에서 delete작업이 이루어진다. rear에서 이뤄지는 삽입연산을 enQueue, front에서 이뤄지는 삭제연산을 dequeue라고 한다. 활용처: 프로세스관리, BFS 구현, Cache 구현 ✏️ Queue (큐의 사용과 구현) Python은 queue라이브러리를 제공한다. 하지만 list를 이용해 ..