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

연결리스트8

C++로 구현하는 자료구조!!이중연결리스트(Doubly Linked List)@@ Implementation Doubly Linked List Using C++ 저번 시간에는 단방향 연결 리스트 즉, Singly Linked List에 대해서 글을 올렸었습니다. 이번 시간에 설명드릴 내용은, Doubly Linked List입니다! Singly Linked List와는 다르게 양방향에서 즉, 앞 뒤로 데이터의 삽입이 가능한 자료구조의 형태입니다! 이해가 잘 안 가신다면, 아래 링크를 통해 단방향 연결 리스트에 대한 설명을 읽고 오시는 것을 추천드립니다!! hazarddev.tistory.com/39 C++로 구현하는 자료구조!!!연결리스트(LinkedList)@@ Linked List - Singly Linked List 이번 포스팅에서는 링크드 리스트에 대해서 포스팅할 예정입니다. .. 2020. 11. 30.
트리자료구조_on c[2] 본 포스트는 c언어를 중심으로 작성되었습니다. 트리자료구조_on c[2] 저번 포스트에 이어 트리자료구조에 대해서 포스팅 해나가도록 하겠습니다. 순차리스트를 이용하여 이진트리에 대해서 이해해 보도록 하겠습니다. 위와 같은 이진자료구조가 있습니다. 그렇다면 논리적 구조에서 어떻게 표현될지 확인해 보겠습니다. [0] [1] A [2] B [3] C --- --- [n] O 위 와 같이 표현됨을 알 수 있습니다. 즉 루트를 인덱스[1]으로 보았을 때 좌측으로 부터 우측의 방향대로 인덱스가 매겨져가며 아래로 순차적으로 내려갑니다. 정리하자면, J와 K의 부모노드는 E가 맞습니다. 인덱스 번호로 보았을 때, [10][11]은 [5]부모노드를 담고 있는것이죠 그렇다면 연결리스트를 이용하여 이진트리를 구현해보도록 하.. 2020. 3. 9.
큐가 뭔가요!( C,Queue)[2] 본 포스트는 c언어를 중심으로 작성되었습니다. 큐가 뭔가요!( C,Queue)[2] 저번 포스트에 이어 계속 포스트 해왔던대로 이번엔 연결리스트를 통한 구현을 해보겠습니다. 저 또한 의문이 들었습니다. 순차자료구조, 연결자료구조 이거 두개 다 뭐 구현이 가능한데? 왜 나눠서 구분 짓고 이럴땐 이렇게 사용하고 저럴땐 저렇게 사용할까? 라는 의문을 가져보았습니다. 구글링을 열심히 해본결과로는 순차자료구조를 이용해 구현한 큐는 치명적인 단점이 존재합니다. 앞서 포스트에서도 기술했듯이 배열의 크기가 고정되므로 큐의 길이를 유동적으로 변화 시킬 수 없으며 데이터가 없어도 항상 고정된 크기를 가져야 하기 때문에 메모리누수 문제가 심각하다는 이유입니다. 즉, 3번지 3 4번지주소-> 4번지 4 null first 포.. 2020. 3. 2.
STACK(스택)이 뭔가요?[2] 본 포스트는 c언어를 중심으로 작성되었습니다. STACK(스택)이 뭔가요? 저번 포스트에 이어 스택의 포인터변수를 이용한 구현방식에 대해서 알아보겠습니다. 요새 공부를 좀 많이 땡기다보니, 아무래도 포스트를 많이 하면서 또 필자 또한 뿌듯함을 느낍니다.ㅋㅋㅋ뭐 여튼 각설하고 앞서서 구현했던 방식은 순차자료구조 형식이란 점 모두 인지하실거라 생각합니다. 1차원 배열변수를 이용하여 아주 쉽게 구현했었죠. 그렇지만 앞서서 포스팅을 보고 오신 분이라면 아시겠지만, 그닥 효율이 좋은 구조는 못됩니다. 아무래도 고정된 크기를 사용하는 만큼 가변적으로 크기가 바뀌어야 할 상황에서 그렇게 잘 못하기 때문에 일단 크게 크기를 잡아놔야 넉넉하다는 겁니다. 그치만 그렇게 되면 메모리 사용의 효율성이 많이 떨어지기 때문에 좋.. 2020. 2. 21.