본문 바로가기

개발/자료구조7

[자료구조] 트리(Tree) 트리(Tree) 구조 트리: Node를 이용해서 Node간의 순환이 발생하지 않게 구성한 데이터 구조입니다. 탐색(검색) 알고리즘 구현을 위해 많이 사용됩니다. ex) 트리 구조 ex) 순한되는 경우 용어 Node(노드): 트리에서 데이터를 저장하는 기본 요소입니다. Root Node: 가장 상위의 노드 입니다. Level: 가장 최상단에 위치한 노드를 Level 0으로 하였을 때 하위 연결된 노드의 깊이를 나타냅니다. Parent Node: 어떤 노드의 상위 레벨에 연결된 노드입니다. Child Node: 어떤 노드의 다음 레벨에 연결된 노드입니다. Leaf Node(Terminal Node): Child Node가 하나도 없는 노드입니다. Sibling (Brother Node): 동일한 Parent.. 2023. 1. 29.
[자료구조] 링크드리스트(LinkedList) 1. 링크드 리스트(Linked List) 구조 연결 리스트라고도 합니다. Linked List는 떨어진 곳에 존재하는 데이터를 주소로 연결하여 관리하는 데이터 구조입니다. LinkedList 기본 구조와 용어 노드(Node): 데이터 저장 단위(데이터값, 포인터)로 구성됩니다. 포인터(pointer): 각 노드 안에서 다음이나 이전의 노드와의 연결 정보(주소)를 가지고 있는 공간입니다. 일반적인 LinkedList 형태 [출처 - 위키피디아 백과사전] 2. LinkedList 예시 Node 클래스 구현 public clfgass Node{ T data; // 데이터 Node next = null; // 포인터 역할 public Node(T data){ this.data = data; } }Node와 N.. 2023. 1. 19.
[자료구조] 큐(Queue)란? 큐(Queue)란? 선입선출 FIFO(First In First Out) 자료구조입니다. 먼저 저장된 값이 가장 먼저 반환되는 구조입니다. ex) 번호표 뽑아서 순서 기다리기, 화장실 줄서기 등.. Java에서 큐(Queue)의 메소드 add(E item): item을 저장 후 저장되었으면 true, 그렇지 않으면 exception 처리됩니다. offer(E item): item을 저장 후 저장되었으면 true, 그렇지 않으면 false 반환합니다. peek():가장 먼저 저장된 item을 반환합니다. pool(): 가장 먼저 저장된 item을 반환 후 삭제합니다. remove(): 가장 먼저 저장된 item을 반환, item이 없는 경우 exception 처리됩니다. isEmpty(): Queue의 i.. 2022. 12. 29.
[자료구조] 스택(Stack) 이란? 스택(Stack) 이란? LIFO(Last In First Out) 구조로 마지막에 저장된 값이 첫번째로 꺼내와서 데이터를 사용하는 자료구조입니다. 출력 순서가 입력 순서의 역순으로 이루어질 때 많이 사용됩니다. ex) 뒤로가기, 실행 취소, 역순 문자열 만들기, 재귀 알고리즘 등.. Java 스택(Stack) 관련 메서드 push(E item): 해당 item을 Stack의 마지막에 저장 후 해당 item을 반환합니다. pop(): Stack에서 가장 나중에 저장된 item을 삭제하고 해당 item을 반환합니다. peek(): Stack의 가장 나중에 저장된 item을 반환합니다. empty(): Stack이 비어있으면 true, 아니면 false를 반환합니다. search(Object o): 해당 o.. 2022. 12. 29.
[자료구조] 배열과 해시테이블의 차이점 ### 배열(Array) Vs 해시테이블(hash table) - 배열은 데이터를 0에서 순서대로 번호에 맞춰서 저장하는 용도이고 해시테이블은 key값에 따라 해당하는 데이터를 저장하는 용도입니다. 예를 들면 해시테이블에 key값이 shbae인 값이 있는가?는 O(1)연산이지만 배열에서는 key의 개념이 없어 모든 값을 조회하여야 하므로 O(n)이 됩니다. - 조회시 배열이 속도가 더 빠릅니다. 배열은 인덱스로 데이터에 바로 접근하지만 해시테이블은 해시함수를 한번 거치므로 배열의 조회가 좀 더 빠릅니다. 2022. 12. 29.