목록Data structure, Algorithm (3)
pat coding
비선형구조란? 선형구조는 자료를 저장하고 꺼내는 것이 중점이라면 비선형구조는 자료의 표현에 중점을 맞추고 있습니다. 하나의 자료 뒤에 여러개의 자료가 존재하는 형태 자료들 간의 앞뒤 관계가 '1:다' 또는 '다:다'의 관계 비선형구조의 종류 1. 트리 1개 이상의 노드로 구성된 집합으로 나무 모양과 비슷하여 트리라고 합니다. 우리가 쓰고 있는 폴더구조가 트리라고 생각해주시면 됩니다. 일반 트리와 이진트리의 차이는 이진트리는 2개이상의 노드가 존재하지 않는 구조라고 생각해주시면 됩니다. 특징 · 방향성이 있음 · 각 노드는 어떤 자료형으로도 표현이 가능 · 사이클이 존재할 수 없다(하나의 연결 그래프) · 트리는 이진 트리, 이진 탐색 트리, 균형 트리(AVL 트리, red-black 트리), 이진 힙(최..
선형구조란? 데이터가 연속적으로 연결되어 있는 모양으로 구성하는 방법 자료를 구성하는 원소들을 순차적으로 나열시킨 형태 선형구조의 종류 1. 선형 리스트(Linear List) ex) 배열(Array) 연속적인 기억공간에 배정하며 각 요소들은 동일 데이터 타입으로 의 쌍으로 표현된다. 정적인 데이터타입으로 배열의 크기는 한번 정하면 크기를 변경 할 수 없다. (데이터 낭비가 될 수 있음!) 특징 · 가장 간단한 자료구조 · 접근 속도가 빠름 · 기억장소를 연속으로 배정받기 때문에 기억장소 이용 효율은 밀도가 1로서 가장 좋음 · 자료의 개수가 n개 일때, 삽입시 평균 이동 횟수 : n+1/2, 삭제시 평균 이동 횟수 : n-1/2 · 삽입, 삭제 시 자료의 이동이 필요하기 때문에 작업이 번거로움 2. 연..
자료구조란 무엇인가 사전적의미로 자료구조란 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미합니다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미합니다. 신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있습니다. 잘 선택된 자료구조는 실행시간을 단축시켜주거나 메모리 용량의 절약을 이끌어 낼 수 있습니다. 자료구조의 특징 1. 효율성 앞서 설명 했듯이 자료구조를 사용하는 목적은 효율적인 데이터의 관리 및 사용입니다. 따라서 적절한 자료구조를 선택하여 사용한다면 업무의 효율이 올라갈 것입니다. 한가지 예를 들어보자면 검색에 대한 알고리즘을 구현할때, 데이터의 양이 많다면 순차 검색(Linear S..