반응형

자료구조 53

7.4 이진 탐색 트리 구현 [디딤돌 자료구조와 알고리즘 with C++]

7.4 이진 탐색 트리 구현이제 앞에서 설계한 이진 탐색 트리를 구체적으로 구현합시다. 먼저 이진 탐색 트리의 추가 기능인 AddBook 메서드를 구현하기로 해요.bool BinSearchTree::AddBook(int bnum,string title){먼저 주요 키인 도서 번호로 부모 노드를 검색하기로 해요. Node *parent = Find(root,bnum); if(parent) {검색한 부모의 키가 입력한 도서 번호와 일치하였는지 확인하세요. Book *sbook = parent->book; if(sbook->GetBNum() == bnum) {일치하면 도서를 보관하지 않고 추가 실패를 반환하세요. return false; } }입력받은 인자로 도서 개체를 생성하세요. Book *book = n..

1.1 자료구조와 STL [디딤돌 자료구조와 알고리즘 with C++]

1.1 자료구조와 STL 자료구조는 자료를 메모리에 표현하는 구조를 말하며 크게 선형 자료구조와 비 선형 자료구조로 나눠요. 선형 자료구조에는 같은 종류의 자료를 연속적인 메모리에 관리하는 배열과 데이터와 링크로 구성하는 노드들의 선형 집합인 연결리스트가 있어요. 그리고 임시적으로 자료를 보관하는 버퍼로 가장 최근에 보관한 자료를 꺼내주는 스택(Last In First Out)과 가장 먼저 보관한 자료를 꺼내주는 큐(First In First Out)도 선형 자료구조인 배열이나 연결리스트를 이용한 잘 알려진 버퍼입니다. 비 선형 자료구조에는 나무의 뿌리처럼 자료를 보관하는 모습을 계층적으로 표현할 수 있는 트리와 정점과 간선으로 표현하는 그래프 등이 있어요. 이 책에서는 이러한 자료구조들을 소개하고 표준..

1. 소개 [디딤돌 자료구조와 알고리즘 with C++]

1. 소개 앞으로 이 글에서는 컴퓨터 프로그래머의 기초 지식인 알고리즘과 자료구조를 이론적인 접근과 실질적인 구현을 다룰거예요. 자료구조는 프로그램에 관라할 데이터를 어떠한 구조로 보관하고 접근할 것인가를 다루는 것입니다. 선형 자료구조인 배열이나 연결리스트, 스택, 큐와 비선형 자료구조인, 트리, 그래프 등이 있습니다. 알고리즘은 문제를 해결하기 위한 논리의 집합이예요. 문제 해결 방법으로 분류하면 반복 알고리즘, 재귀 알고리즘, 분할 정복, 동적 프로그래밍, 탐욕 알고리즘 등이 있죠. 컴퓨터 프로그래밍을 업무로 하는 이들에게 알고리즘과 자료구조는 실질적인 구현에서 필수적으로 필요합니다. 그리고 이들을 다루는 책은 매우 다양하죠. 이론적으로 접근하는 책들은 다양한 알고리즘과 자료구조를 다루지만 실제적인..

반응형