본문 바로가기

[알고리즘] 2.1. 자료구조 : 연결리스트 기반 스택(Stack) 구현 개요 스택이 무엇인지, 어디에 사용하고 무엇으로 만드는지에 대한 전체적인 내용은 이전 게시물을 참고하시면 됩니다. 스택 이해하기 연결리스트 기반 스택의 프로퍼티(속성) 으로는 top(데이터 삽입/삭제하는 위치), Node(스택을 구성하는 요소)로 구성되어 있습니다. 메쏘드(함수)로는 pop(삭제), push(삽입), peek(탐색)이 있고, 부수적인 함수로는 isEmpty(스택이 비어있는지 확인)가 있습니다. 구현 //연결 리스트로 사용 할 노드 class public class Node { private Object data; private Node nextNode; public Node(Object data){ this.data = data; this.nextNode = null; } //해당 노드를.. 더보기
[알고리즘] 2.1. 자료구조 : 배열 기반 스택(Stack) 구현 개요 스택이 무엇인지, 어디에 사용하고 무엇으로 만드는지에 대한 전체적인 내용은 이전 게시물을 참고하시면 됩니다.배열 기반 스택의 프로퍼티(속성) 으로는 top(데이터 삽입/삭제하는 위치), maxSize(배열의 최대크기), stackArray(배열)으로 구성되어 있습니다. 메쏘드(함수)로는 pop(삭제), push(삽입), peek(탐색)이 있고, 부수적인 함수로는 isEmpty(스택이 비어있는지 확인)가 있습니다. 배열을 이용한 스택 구현public class ArrStack {private int top; //마지막 위치 (삽입,삭제가 이루어질 위치)private int maxSize;private Object[] stackArray;//생성자 : 프로퍼티 초기public ArrStack(int s.. 더보기
[알고리즘] 2.3.자료구조 : 트리(Tree) 이해하기와 구현 개요 앞서 보인 큐(Queue), 스택(Stack) 등은 자료구조에서 선형 구조라 한다. 선형 구조란 자료를 구성하고 있는 데이터들이 순차적으로 나열시킨 형태를 의미합니다. 이번에 배울 트리는 비선형 구조입니다. 비선형 구조는 선형구조와는 다르게 데이터가 계층적(혹은 망)으로 구성되어있습니다. 선형구조와 비선형구조의 차이점은 구성형태뿐만 아니라 용도에서도 차이점이 들어나는데요, 선형구조는 자료를 저장하고 꺼내는 것에 초점이 맞춰져 있고, 비선형구조는 표현에 초점이 맞춰져 있습니다. 그렇다면 트리는 무엇을 표현하기 위한 자료구조일까요? 컴퓨터의 directory 구조가 트리의 대표적인 예가 될 수 있습니다. 어떠한 프로그램, 사진, 영상 등을 찾을 때 우리는 폴더에서 폴더로 들어가면서 찾곤 합니다. 이렇게.. 더보기