cpp44 C++ 공부 섹션5 : 홍정모의 따배씨쁠쁠 내돈내고 내가 공부한것을 올리며, 시간을 들여 배운과정을 복습하기보다는 간결히 공부한 흔적은 남긴다 하고 생각하고 써갈 예정입니다. 모든 내용을 이곳에 올릴수는 없으며, 그중 기억남은 몇가지 내용 위주만 올리겠다. 1) 섹션5 ◆ 어찌보면 코딩의 핵심이라 할 수 있는 단원이다. 이러한 흐름은 C에서부터 줄곳 공부해왔기에 큰 어려움이 없었다. ◆ do while문을 간만에 공부하게 되었다. 사실 이전에 C를 공부하면서 이러한 것이 있다는 것은 알았지만 do_while문을 사용해본적은 아직 없다. 크게 아직 필요한 순간이 없었던것 같다. 기존의 while문과는 달리 우선 한번은 실행한후 while문을 도는 방식이다. ◆ for문에서 맨앞칸을 비워도 된다는 사실에 충격을 먹었었다. 아니 돌이켜 생각해 보.. CS/C++ 2022. 1. 16. C++ 공부 섹션4 : 홍정모의 따배씨쁠쁠 내돈내고 내가 공부한것을 올리며, 시간을 들여 배운과정을 복습하기보다는 간결히 공부한 흔적은 남긴다 하고 생각하고 써갈 예정입니다. 모든 내용을 이곳에 올릴수는 없으며, 그중 기억남은 몇가지 내용 위주만 올리겠다. 1) 섹션4 ◆ 주로 자료형에 관한 수업을 들었다. string에 대하여 처음 공부하게 되었으며, 신기한 auto형 또한 알게되었다. ◆ 전역변수 내용 자체야 어렵지 않으니 기억하고 있었다. 중요한것은 global scope 연산자 이다. 가령 위의 사진처럼 main함수 안에서 같은 변수명의 지역변수와 전역 변수가 둘다 사용된다면, int value = 1; 이후의 행부터는 value가 지역변수이다. 하지만 전역 변수를 사용하기 위해 변수 앞에 ::를 붙혀주면 이는 전역변수를 사용하는 것 이다.. CS/C++ 2022. 1. 16. C++ 공부 섹션3 : 홍정모의 따배씨쁠쁠 내돈내고 내가 공부한것을 올리며, 시간을 들여 배운과정을 복습하기보다는 간결히 공부한 흔적은 남긴다 하고 생각하고 써갈 예정입니다. 모든 내용을 이곳에 올릴수는 없으며, 그중 기억남은 몇가지 내용 위주만 올리겠다. 1) 섹션3 ◆ 이번 단원에서는 연산자들에 대해 주로 배웠다. 대부분이 거의 C에서 배워 아는 내용이였지만 그중 또 새로운 내용도 있었기에 이러한 새로운 내용 위주로 집중하며 들었다. ◆ 간단한 실수의 산술 연산이다. 계산이 어려운것이 아니라 다음 코드에 중요한 점은 바로 피연산자의 어느 한쪽에 float형으로 cast를 한 경우 결과 값이 실수로 바뀐다는 점이다. 4개의 cout 구문에서 맨 첫줄의 코드는 나누기 연산자를 진행후 몫인 1이 결과값 이지만, 나머지 코드의 경우 float로 c.. CS/C++ 2022. 1. 16. C++ 공부 섹션2 : 홍정모의 따배씨쁠쁠 내돈내고 내가 공부한것을 올리며, 시간을 들여 배운과정을 복습하기보다는 간결히 공부한 흔적은 남긴다 하고 생각하고 써갈 예정입니다. 모든 내용을 이곳에 올릴수는 없으며, 그중 기억남은 몇가지 내용 위주만 올리겠다. 1) 섹션2 ◆ 섹션2의 내용또한 어렵지 않아 약간은 긴장이 풀린 상태로 공부하게 되었다. 이전 C에서 거의 들었던 내용이라 새로운 지식이 아니다 보니 처음배울때보다는 긴장도가 조금 풀린것 같다. 하지만 이와 더불어 이미 아는것도 다시 들었을때 새로운 깨달음을 얻을수 있으며, 다시한번 생각해보는 과정 그 자체가 공부의 길임을 잘 알고 있기에 집중하려 노력했다. 이번 강의에서는 특히 초기화의 3가지 방식이 인상깊었던 단원인 것 같다. ◆ 이전 C에서 도 배웠던 내용이지만 나는 잘 사용해본적 .. CS/C++ 2022. 1. 16. C++ 공부 섹션1 : 홍정모의 따배씨쁠쁠 내돈내고 내가 공부한것을 올리며, 시간을 들여 배운과정을 복습하기보다는 간결히 공부한 흔적은 남긴다 하고 생각하고 써갈 예정입니다. 모든 내용을 이곳에 올릴수는 없으며, 그중 기억남은 몇가지 내용 위주만 올리겠다. 1) 섹션1 ◆ 섹션1 의 내용은 몇가지를 제외하고는 C와 거의 동일한 내용이라서 크게 어려움 없이 1.5배속으로 빠르게 들었다. ◆ 기억남는 것 중 하나가 바로 initialization과 assignment의 구분이였다. 사실 C를 공부했기에 둘의 개념을 모르지는 않았다. 다만 둘은 약간은 혼용하여 사용하고 있었던 스스로를 반성할 수 있었다. 초기화의 경우 변수가 생성됨과 동시에 값이 바로 들어가는 것 이고, 대입의 경우에는 선언된 변수에 추후 값을 넣어주는 것 이다. 둘간의 차이가 없어.. CS/C++ 2022. 1. 16. C++ 공부 섹션0 : 홍정모의 따배씨쁠쁠 내돈내고 내가 공부한것을 올리며, 시간을 들여 배운과정을 복습하기보다는 간결히 공부한 흔적은 남긴다 하고 생각하고 써갈 예정입니다. 모든 내용을 이곳에 올릴수는 없으며, 그중 기억남은 몇가지 내용 위주만 올리겠다. ◆ 이전 C 공부의 과정 어느덧 C언어를 처음 공부시작한지 6개월쯤 되가는것 같다. 짧은 시간안에 몰아처 공부하는쪽이 효율면에서 습득하기에 좋다 생각하기에 C언어또한 따배씨 강좌와 책을 통해 딱 31일 동안 완강하였고, 이론서 한권을 병행하여 부족한 부분을 읽어가며 C에 대한 전반적인 이해를 했었다. 이후 학교 수업에서 컴퓨터공학과의 전공수업인 시스탬프로그래밍(리눅스) 를 들으며 리눅스 환경에서 GCC를 사용해 가면서 C에 대한 이해를 한층 높혀갔다. 시스템콜에 관해 공부했으며, process.. CS/C++ 2022. 1. 15. [자료구조] C++로 쉽게 풀어쓴 자료구조 : 14장, 탐색 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 1) 14장 탐색 탐색은 하나 이상의 field로 구성된 record의 집합에서 원하는 레코드를 찾아내는 작업이다. 보통 이런 레코드의 집합을 table이라고 부른다. 레코드들은 각각 고유한 키값을 갖는데, 이를 탐색키(search key) 라고 부른다. 자료 검색은 테이블에서 해당 탐색키를 찾는 것 이다. C++로 쉽게 풀어쓴 자료구조 (14장, 탐색) " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 데이터: 키와 값을 가진 요소 (key, value)의 집합 연산: - create(key, value): 주어진 key와 value를 각각 키와 값으로 갖는 레코드를 생성. .. CS/Data Structure (2021-1) 2022. 1. 15. [자료구조] C++로 쉽게 풀어쓴 자료구조 : 13장, 정렬 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 가겹게 포스팅 하겠습니다. 1) 13장 정렬 정렬이란 물건을 크기순으로 오름차순이나, 내림차순으로 나열하는 것 을 의미한다. 일반적으로 정렬시켜야할 대상을 레코드(record)라고 불린다. 레코드는 다시 field라고 하는 보다 작은 단위로 나누어 진다. 여러 필드중 레코드들을 구분해주는 역할을 key가 한다. 선택 정렬 (selection sort) " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 정렬되지 않은 숫자가 모여 있는 리스트 B 와 정렬이 완료된 숫자들이 들어가는 리스트 A 가 있다고 하자. A{ } : B{5, 3, 8, 1, 2, 7} 선택 정렬은 B의 리스트에서 가장 작은 숫자를 선택.. CS/Data Structure (2021-1) 2022. 1. 15. [자료구조] 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. [자료구조] 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. 이전 1 2 3 4 다음