분류 전체보기692 [자료구조] C++로 쉽게 풀어쓴 자료구조 : 12장, 가중치 그래프 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 이번 12장 책 코드에 중간중간 오류코드들이 보인다... 이해를 조금 방해하는 수준이다. 1) 12장. 가중치 그래프(Weighted Graph) 가중치 그래프는 이전에 만들었던 AdjMatGraph class를 상속하여 사용한다. 이전에 사용했던 인접행렬에서는 간선이 있으면 1 없으면 0을 행렬에 저장했지만, 이번에는 가중치값을 행렬에 저장하였다. 일정 범위를 두고 그 범위 안의 값이면 간선이 있고, 이를 벗어나는경우는 간선이 없다고 여긴다. WGraph.h #pragma once #include "AdjMatGraph.h" const int inf = 100; class WGraph : public Ad.. CS/Data Structure (2021-1) 2022. 1. 15. [CODE SQUAD] 주간 회고록 : 2022/1/3 ~ 1/7 주간 회고록 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 코드스쿼드에서의 첫 한주가 순삭 됐다.... 이번 주 우리 조 멤버는 : zzangmin, Miller, Hanse, Heyho, Jun, Lucid, Meenzino, 포키(BE), 후, Shine 이였다. 아직은 팀원들 간에도 조금은 어색한 감(?) 이 있지만, 차츰 더 친해질 기회가 많을 거라 생각된다. 이번 1월은 CS10의 과정 기간이다. CS10의 기간 동안에는 기초가 되는 컴퓨터공학적 지식을 키워드로 학습하는 과정이다. 마스터 들은 구체적인 지식을 우리게에 전달해 주시기보다는, 스스로 찾아 공부하도록 키워드를 계속 던져주셨다. 대부분이 과제 형식이기 때문에 문제를 해결하면서 스스로 찾아보고 삽질하는 .. CODE SQUAD/회고록 2022. 1. 15. [자료구조] C++로 쉽게 풀어쓴 자료구조 : 11장, 그래프 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 1) 11장. 그래프(Graph) Graph의 ADT " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 데이터: 정점의 집합과 간선의 집합 연산: - creat(): 그래프를 생성한다. - isEmpty(): 그래프가 비어있는지 확인한다. - insertVertex(v): 그래프에 정점 v를 삽입한다. - insertEdge(u, v): 그래프에 간선 (u, v)를 삽입한다. - deleteVertex(v): 그래프의 정점 v를 삭제한다. - deleteDdge(u, v): 그래프의 간선(u, v)를 삭제한다. - adjacent(v): 정점 v에 인접한 모든 정점의 집합을 반.. CS/Data Structure (2021-1) 2022. 1. 15. [자료구조] C++로 쉽게 풀어쓴 자료구조 : 10장, 힙 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 10장. 힙(Heap) " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 힙은 부모 노드의 키 값이 자식 노드의 키 값보다 큰(or작은) 이진트리 를 말한다. A가 B의 부모 노드라고 가정하면, key(A) >= key(B) 인경우가 최대 힙이 되며, key(A) HTML 삽입 미리보기할 수 없는 소스 insert(key) heapSize HTML 삽입 미리보기할 수 없는 소스 void heapSort(int a[], int n) { MaxHeap h; for (int i = 0; i = 0.. CS/Data Structure (2021-1) 2022. 1. 15. [자료구조] C++로 쉽게 풀어쓴 자료구조 프로그래밍 프로젝트 9-1 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 프로그래밍 프로젝트 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 1) 9.2절에서 이진 탐색 트리의 탐색 연산을 트리 클래스에서 구현했고 노드 클래스에서도 구현해 보았다. 트리의 각 노드들을 모두 자신을 루트로 하는 서브트리를 대표한다고 보면 많은 트리의 연산들을 노드에서 구현할 수 있다. 8장의 프로그램 8.1과 프로그램 8.2를 수정하여 BinaryTree 클래스에서 구현했던 다음 멤버함수들을 BinaryNode 클래스에서 구현해라. void BinaryNode::inorder(); void BinaryNode::preorder(); void BinaryNode::po.. CS/Data Structure (2021-1) 2022. 1. 15. [서평] Do it! C언어 입문 저의 돈으로 직접사서 직접 완독해본후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할것이며, 단점은 단점대로 언급할 것 입니다. 2020/7/1 ~ 2020/8/15 (따로 공부하던 인강과 병행하여 공부하였는지라 시간이 좀 걸렸습니다.) 1) 책의 구성 Do it! 시리즈 다운 디자인이다. 별로 특이한점은 없으며 책볼때 디자인이 큰 비중을 차지하지는 않지만 개인적으로 이런 깔끔한디잔인이 조금더 호감이기는 한것같다. ◆ 목차 크게 두가지 마당으로 구성되어 있다. 첫째마당은 아주 기본적은 문법(ex. 반복문, 변수, 상수, 함수, 자료형 등등)을 다루고 있으며, 둘째마당에서부터 악명높은 포인터와 다차원배열, 동적할당, 구조체 등등 을 다루고 있다. 확실히 두째마당으로 가면 내용이 한층더 무거워진 느낌이 강.. Life/Book Record 2022. 1. 15. C++로 쉽게 풀어쓴 자료구조 : 9장, 이진 탐색 트리 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 1) 9장. 이진 탐색 트리 이진 탐색 트리는 이진트리 기반의 탐색을 위한 자료구조로 효율적인 탐색 작업을 위한 구조이다. 1) 모든 노드는 유일한 키를 갖는다. 2) 왼쪽 서브트리의 키들은 루트의 키보다 작다. 3) 오른쪽 서브트리의 키들은 루트의 티보다 크다. 4) 왼쪽과 오른쪽 서브트리도 이진 탐색 트리이다. 정의 9.1 245페이지 Binary Search Tree ADT " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 데이터: Binary Search Tree의 특성을 만족하는 이진트리: 어떤 node x의 왼쪽 서브트리의 key들은 x의 key보다 작고, 오른쪽의 .. CS/Data Structure (2021-1) 2022. 1. 15. C++로 쉽게 풀어쓴 자료구조 프로그래밍 프로젝트 8 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 프로그래밍 프로젝트 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 (1) 이진트리가 완전 이진트리인지를 검사하는 연산 (2) 임의의 node의 레벨을 구하는 연산을 구현한다, 만약 node가 트리 안에 있지 않으면 0을 반환한다. (3) 이진트리의 모든 노드에서 왼쪽 서브트리와 오른쪽 서브트리의 높이의 차이가 2보다 작으면 이 트리를 균형잡혀있다라고 한다. 현재 이진트리가 균형 잡혀 있는지를 검사하는 다음 연산을 구현한다. (4) 이진트리에서 경로의 길이를 루트에서부터 모든 자식 노드까지의 경로의 길이의 합이라고 하자. 경로의 길이를 구하는 연산을 구현한다 (5) 이진트리를.. CS/Data Structure (2021-1) 2022. 1. 14. [자료구조] C++로 쉽게 풀어쓴 자료구조 : 8장, 트리 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 1) 8장. 트리 대부분의 교제에서 가르치는 트리중 대표가 아마 이진트리 일 것 이다. 이진트리의 정의를 간략히 살펴보자! 1) 공집합이거나 2) 루트와 왼쪽 서브트리, 오른쪽 서브트리로 구성된 노드들의 유한 집합으로 정의된다. 이진트리의 서브트리들은 모두 이진트리여야 한다. 정의 8.1 299페이지 Binary Tree 의 ADT " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 데이터: 노드와 간선의 집합. 노드는 공집합이거나 공집합이 아니라면 루트노드와 양쪽 서브트리로 구성된다. 모든 서브트리는 이진트리여야 한다. 연산: - create(): 이진트리를 생성한다. - is.. CS/Data Structure (2021-1) 2022. 1. 14. [자료구조] C++로 쉽게 풀어쓴 자료구조 : 7장, 순환 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 1) 7장. 순환 이번장은 재귀, 순환에 대하여 배웠다. 사실 재귀는 친숙하면서도 새로운 개념이다. 이전에도 재귀를 사용해 미로 찾기, 하노이탑 등등 몇가지 문제들을 접한적이 있는데, 이번시간에도 다시 점검한다는생각으로 배웠다. 간단하게 미로찾기 코드정도만 올려야 겠다. 교제와 다른 방식으로 구현한 미로찾기 #include #include using namespace std; const int N = 8; const int PATHWAY = 0; const int WALL = 1; const int BLOCKED = 2; const int PATH = 3; int maze[N][N] = { {0,0,0,0,.. CS/Data Structure (2021-1) 2022. 1. 14. [자료구조] C++로 쉽게 풀어쓴 자료구조 : 6장, List 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 1) 6장. 리스트 앞에서 배운 스택, 큐, 덱과 같이 리스트 또한 선형 자료구조 이다. 선형이란 원소들이 일렬로 순서대로 들어있는것을 말한다. list와 이들 자료구조의 차이는 무엇일까? 답은 원소에 대한 접근 방법이 다르다는 것 이다. 스택이나, 큐, 덱같은 경우 자료의 접근은 front나 rear을 통해서만 접근이 가능하다. 중간에 원소를 삽입하는것을 허용하지 않는다. list는 이러한 제한이 없다. 임의접근이 가능한것이다. List의 ADT " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 데이터: 임의 접근 방법을 제공하는 타입이 같은 요소들의 순서있는 모임. 연산: .. CS/Data Structure (2021-1) 2022. 1. 14. [자료구조] C++로 쉽게 풀어쓴 자료구조 프로그래밍 프로젝트 5 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. DFS를 활용한 미로찾기 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 헤더파일에서는 using namespace std를 사용하지 않았습니다. 메인에서만 사용하였습니다. 헤더에서 이를 선언해버리면 이를 include하는 다른 소스파일에서까지 using namespace std가 적용되기때문에 헤더파일에서는 std::를 다 적어줬습니다. Location2D.h #pragma once struct Location2D { int _row; int _col; Location2D(int row = 0, int col = 0) : _row(row), _col(col) {} bool .. CS/Data Structure (2021-1) 2022. 1. 14. 이전 1 ··· 52 53 54 55 56 57 58 다음