목록2019/04/02 (2)
꿈 많은 사람의 이야기
파이썬으로 자료구조, 알고리즘 공부를 다시 하고 있다 너무 오랜만에 해서 뜨문뜨문 기억이 나면서 진행하고 있다 지난 포스팅까지는 연결 리스트(linked list)와 이중 연결 리스트(doubly linked list)를 다뤄봤다 이번에는 스택과 큐이다. 먼저 스택이다. stack은 자료구조에서 정말 많이 보이는 그리고 많이 사용되기도 하는 자료구조이다 Last In First Out의 구조 즉 LIFO의 구조를 따른다 스택의 구조를 그림으로 설명하면 위와 같이 된다 A->B->C->D 순으로 들어오고 가장 맨 위를 top이 가리킨다. 그리고 마지막에 들어온 D부터 차례대로 out되는데 이 과정을 pop 이라고 한다. 또한, 스택에 들어오는 과정은 push라고 한다. 이 과정을 파이썬 코드로 작성하면 어..
지난 글에서 파이썬으로 연결리스트를 구성해봤습니다.(https://lsjsj92.tistory.com/461) 하지만 단순한 연결리스트는 단방향만 가기 때문에 양방향보다는 효율이 떨어집니다 그것을 보완하기 위해 양방향으로 갈 수 있는 연결 리스트를 구상했는데요 그게 이중 연결 리스트(doubly linked list) 입니다. 그림으로 보면 아래와 같은 구조입니다. 각 노드가 있고 노드안에 prev, next가 있어서 prev는 본인 노드 전의 지점을 가리킵니다. next는 본인 노드 다음의 노드를 가리킵니다. 어렵지 않는 구조이죠 지난 번 포스팅에서 크게 달라지는 것은 없으며 prev 구조가 추가 되었습니다. 이게 끝입니다 ㅎㅎ 단순하죠? 하지만 삽입이나 삭제 같은 연산을 할 때는 좀 많이 달라집니다...