이번에 linkedList를 공부하다가 처음 알게 된 사실구조체 함수를 살펴보면 return형이 뭔지 알 수 있다.int void를 배울 때, 왜 같이 배우지 않았을까 의문이 들었지만, 너무 어려워서 그렇다고 들었다...코드 예시를 보자노드를 형성하는 getNode()
연결리스트의 역순 연산 코드는 다음과 같다.4까지 data가 있는 노드를 reverse해보자.연결리스트에서 = 연산자를 대입하는 게 아니라 가리킨다고 생각했다.LinkedList Reverse가 이해가 되지 않아서 정리해봤다.
재귀 함수의 호출 순서를 정리했다. 3개를 옮긴다고 가정하고 작성했다.
만약, power(3,4)라는 값이 들어간다고 생각한다면이 함수의 재귀호출을 정리하면 다음과 같다.power(3,4) --> power(3 3, 2) --> power(9 9, 1) --> power(81 \* 81, 0) --> return 1 --> return
단일연결리스트를 표현하는 3가지 방법이다.나는 마지막 걸 제대로 안다고 생각했는데 역시 아직 재귀를 잘 모른다.
함수는 다음과 같다.k가 1 n이 3일 때,스택이 쌓인다.c_h(1,3) -> c_h(0,3) + c_h(1,2) -> c_h(0,2) + c_h(1,1) -> return 1 -> return 3 -> return 6
Heap 영역은 내가 할당하려는 크기 이상을 참조해도 에러가 나지 않는 경우가 있다.그래서 여기서 에러가 나지 않고 잘 작동하는 것이다.그렇지만 동적할당을 여러번 할 경우에는 메모리가 겹칠 수도 있기 때문에 아래와 같이 N을 곱해서 사용한다.컴퓨터 구조에서 더 자세히
비트연산자를 이용해서 2의 제곱을 구할 수 있다.!시간이 나면 power와 속도 비교를 해보자 비트연산자가 훨씬 빠르다고 함.
이렇게 하면 파일의 위치를 알 수 있다고 한다. 근데 왜 그런지는 아직 모르겠다.
Expression 1 ? Expression 2 : Expression 3Expression 1이 참이면 $\\rarr$ Expression 2Expression 1이 거짓이면 $\\rarr$ Expression 3자주 사용하는데 까먹어서 정리했다.
항상 연결리스트나 배열을 사용할 때 탐색 함수를 만들고 나서 고민이 생겼다.탐색된 값을 출력하는 것이 탐색 함수의 목적에 따라 달라집니다. 일반적으로는 탐색 함수 내에서 탐색된 값을 반환하는 것이 더 좋은 방법입니다. 이유는 아래와 같습니다:모듈화: 탐색 함수 내에서
int pointer를 형변환했다.원래는 리틀엔디안도 엄청 헷갈렸는데 이제는 이해해버렸다.\*(ptr)4가 가능할 줄 알았는데 불가능했다.의 경우 마지막에 \\0이 생략되어 있다. \\0이 포함되어 있지 않으면 print할 때 어디가 끝인지 모르기 때문이다.
이건 내가 너무 많이 찾아봐서 정리한다.if(A)의 경우에는 if(A) 만약 A라면으로 이해했다. if(A)의 경우 if(A != 0)과 같다.즉 A가 false가 아니라면 성립한다는 것 결과 A is trueif(!A)의 경우에도 A가 false라면으로 이해했다.if
clang: error: no such file or directory: 'MyString.cpp'clang: error: no such file or directory: 'big_integer.cpp'오랜만에 c++ 파일을 컴파일 하려고 ⌘+R을 눌렀는데 저렇게 에러
이걸 처음에 배울 때 preorder는 VLR로 postorder는 LRV로 Inorder는 LVR로 배웠는데 도무지 이해가 되지 않았다.근데 역시 코드로 보고 하나씩 적으니까 의미가 이해되었다.Preorder에서는 recursion이 일어날 때마다 바로 방문이 일어나