알고리즘/자료구조(2)
-
[Data Structure] 스택(stack), 큐(Queue)
[Data Structure] 스택(stack), 큐(Queue) 이전에는 stack과 queue에 대해 해당 자료구조의 기본적인 개념을 알고 문제풀이에 사용했다면 이번에는 해당 자료구조의 구현을 통해 해당 자료구조에 대해 좀 더 알아보았다. 파이썬에서는 리스트 자료구조를 통해 스택과 큐를 둘 다 쉽게 구현 가능했었지만 그것에 의존하지 않고 해당 자료구조를 알아보는 시간을 가질 수 있었다. 큐와 스택을 구현하는 방법에는 배열과 연결리스트가 존재한다. 이때 구현에 관해 각자의 사용 장단점부터 살펴보았다. 배열 배열의 인덱스를 사용하여 편리하게 사용한다는 장점 원하는 데이터가 어디있는지 위치를 파악할 수 있는것 크기가 정해져있기에 고정배열 사용 시 주기적으로 크기를 살펴봐야한다 연결 리스트 노드 / 연결리스..
2022.11.10 -
[Data Structure] Linked List - 링크드 리스트
node - 노드 링크드 리스트란 노드란 것을 사용해서 구현한 하나의 자료구조이다. class Node: def __init__(self, data): self.data = data self.next = None 노드의 경우 위의 코드와 같이 생겼으며 생성자를 통해 구성을 살펴보자. 노드의 경우 두 가지 인자를 바탕으로 생성이 된다. 하나는 노드에서 담고자 하는 데이터를 저장하는 변수, 그리고 또 하나는 그다음에 올 노드의 정보를 담는 변수의 방식으로 생성이 된다. 노드의 경우 배열처럼 하나의 지정된 공간에 여러 가지 데이터를 담아두는 그런 자료구조가 아니다. 다만 노드는 메모리 여러 군데에 저장되며 노드 안에 다음 노드의 정보를 기입하여 다음 노드를 불러올 수 있는 식으로 데이터의 저장 및 활용이 가능..
2022.11.09