자료구조
-
링크드리스트Programming/Data Structure 2020. 10. 29. 08:39
연결리스트 1. 링크드리스트 구조 링크드리스트는 떨어진 곳을 존재하느 데이터를 포인터로 가르켜서 관리하는 구조 C언어에서는 포인터를 사용하여 다음 주소를 가르키도록 하지만, python에서는 객제지향을 가지고 구현 링크드리스트의 기본 용어 노드(Node) : 데이터의 기본 저장 단위(데이터값, 포인터)로 구성 포인터(Pointer) : 각 노드안에서 다음 Node와의 연결정보를 가지고 있음 2. Python으로 구현한 링크드 리스트 class Node: def __init__(self, data, next=None): self.data = data delf.next = next node1 = Node(1) node2 = Node(2) node1.next = node2 tNode = node1 while ..
-
배열로 구현한 StackProgramming/C,C++ 2012. 10. 27. 19:48
오늘은 배열로 구현한 Stack을 포스팅 하려고 합니다. Stack : 자료를 한 방향으로만 쌓는 구조입니다. 앞에서 배운 리스트는 양방향으로 자료를 집어 넣고 , 뺄 수 있었지만 스택은 오직 한방향에서만 가능합니다. 스택에서는 오직 맨 위에다가만 자료를 추가할 수 있습니다. 이를 Push라고 합니다. 또한, 스택에서 자료를 꺼내는 것을 Pop라고 합니다.(현재 top에 있는 자료를 꺼내오겠죠!)그래서 스택은 다른말로 LIFO(Last - In - First - Out) 맨 마지막에 들어와서 마지막 원소가 가장 먼저 나가는 특성을 지닙니다. 기본적으로 배열로 구현한 Stack에서는 크기를 지정해줘야 합니다. 배열로 구현한 스택의 단점은 크기를 미리 지정하고, 그 지정한 크기가 넘어가면 Overflow가 ..