본문 바로가기
  • hazard_dev@__
  • hazard_dev@__

자료구조21

[Python 자료구조] 연결리스트_implemented Linked List@_탐색, 순회, 추가 및 삭제 Powerful Linked List Structure on Python 저번에는 파이썬을 사용해서 트리 자료구조를 구현해보았습니다. 이번 시간에는 파이썬을 이용해서 연결 리스트를 구현해보도록 하겠습니다. 사실 우리가 사용하는 배열이나 선형 자료구조들은 이러한 개념을 바탕으로 설계되었으니, 어쩌면 우리는 사용하고 있었던 것입니다. 왜냐면 아래 그림을 보면 알 수 있습니다!! 연결 리스트는 하나의 데이터를 노드라고 지칭하고, 노드가 다음 노드를 가리키는 선은 노드 간 간선이라고 지칭합니다. 선의 형태를 띤다 하여 선형 자료구조라고 부르며, 가장 이해하기 쉬운 자료구조이며 삽입과 삭제는 최선, 최악의 경우 모두 O(1) 안으로 이루어지며, 탐색의 경우에는 O(n)이 걸리는 자료구조입니다. 파이썬에서는 그냥 .. 2021. 1. 6.
C++로 구현하는 자료구조!!!트리자료구조(Tree)@@ Tree - Binary Search Tree 이번에 설명드릴 자료구조의 형태는 완전 이진트리(Binary Search Tree)로, Tree 자료구조 중 가장 많이 사용되는 자료구조입니다! 물론 제일 쉽기도 해요~ 여기부터는 조금 더 추상적으로 이해해야 하는 부분이 많기 때문에 쉽사리 이해하기 힘들 수 있습니다. 하지만, 자료구조를 알지 못하면 프로그램을 작성하는 건 무리입니다. 자료구조의 강력한 기능과 구현력을 바탕으로 정상적으로 작동되는 프로그램이 만들어지기 때문입니다! 위의 형태로 구현되는 것이 완전 이진 트리입니다. 설명드리면, 노드의 왼쪽 하위 트리는 부모 노드보다 작은 노드가 포함되며 오른쪽 노드는 부모 노드보다 큰 노드가 포함됩니다! 당연히 추가되는 노드 또한 완전 이진트리의 형태를 갖추어.. 2020. 11. 29.
C++로 구현하는 자료구조!!!연결리스트(LinkedList)@@ Linked List - Singly Linked List 이번 포스팅에서는 링크드 리스트에 대해서 포스팅할 예정입니다. 이전에 큐, 스택을 배웠으니 링크드 리스트의 개념 또한 그렇게 어려운 개념이 아닙니다. 솔직히 말하자면, 자료구조를 학습할 때 스택과 큐 이전에 링크드 리스트를 먼저 선행하고 하는 것이 더 좋긴 하나,,, 흠 꼬여버렸네요 ^ㅜ^ 상관없습니다! 여하튼 선형 자료구조 중 가장 기본적인 구조가 되는 자료구조가 링크드 리스트입니다!! 그중에서도 단방향 연결리스트(Singlye Linked List)에 대해서 학습해봐야 합니다. 물론 양방향 연결리스트(Doubly Linked List) 또한 올릴 예정이니 우선 쉬운 것부터 해보자고요! 위 그림은 링크드 리스트의 추상적 형태라고 볼 수 있습니다.. 2020. 11. 28.
C++로 구현하는 자료구조!!!큐(Queue)편@@@ C++로 구현하는 Queue 자료구조 스택 포스팅에 이어서 큐 관련해서 업로드 이어나가도록 하겠습니다~ 큐 또한 스택과 동일하게 STL안에 정의되어 있기 때문에 간단하게 쓸 수 있지만, 그래도 직접 구현해보고 사용하는 것만큼, 좋은 게 없습니다. 물론 이해도도 그만큼 따라 올라가는 것이고요~ hazarddev.tistory.com/20?category=794281 큐가 뭔가요!!(c_queue) 본 포스트는 c언어를 중심으로 작성되었습니다. 큐가 뭔가요!!(c_queue) 위 사진은 당구장을 가보신 분이라면 아시듯이 당구 큐대입니다. 본인은 4구 150에 쓰리쿠션 100정도의 이상한 평균실력을 hazarddev.tistory.com 이미 C언어로 큐를 구현하긴 했으나, 객체지향 개념을 얹어서 구현해보는 .. 2020. 11. 28.