![[ 워밍업클럽 4기 ] 컴퓨터 구조와 자료구조 알고리즘 - 1주차 발자국](https://cdn.inflearn.com/public/files/blogs/3676448c-5723-4ccc-862c-50ace8040d5f/워밍업클럽4기.png)
[ 워밍업클럽 4기 ] 컴퓨터 구조와 자료구조 알고리즘 - 1주차 발자국
1⃣강의 내용
컴퓨터 구조
불대수 (0과1 또는 참,거짓으로만 표현되는 논리함수)에 대해 학습하였고, 불대수로 오늘날의 디지털회로(컴퓨터)를 표현하고 계산된다는 점을 알게되었다.
특히나, 불대수의 법칙으로 어려운 방정식을 쉽고 깔끔하게 리팩토링 된다는 점이 매력적이였고
논리 회로로(그림) 직관적으로 계산할 수 있다는 점이 흥미로웠다.
그러나 불대수 법칙들을 증명하는 과정에서
흡수법칙
과드모르간 법칙
은 오늘날 가장 많이 사용되는 법칙인데, 증명 과정이 아직 익숙치 않고 확실히 이해가 어려웠다. (특히A + (A · B) = A
가 왜 되는지 모르겠음).그래서 다음 포스팅에
흡수법칙
은 진리표로,드모르간 법칙
은 논리식으로 풀어보며 더 깊이 파고들어볼 계획이다.
자료구조와 알고리즘
트리는 말그대로 나무 처럼 생겼음 ( ex.회사 조직도,운영체제의 파일시스템 )
하나의
노드
에서 여러가지의 나뭇가지로 가지치기 하며내려가는
것 = "계층구조"를 표현하기에 제격이다.1. 노드 Node
데이터를 담는 가장 작은 단위(덩어리)
2. 엣지 Edge
각 노드를 연결하는 선
3. 루트노드 Root Node
트리노드에서 가장 최상위의 노드
4. 터미널 노드 Terminal Node
자식노드가 없는 부모노드
참고로, 터미널노드는
루트노드
만 있는 트리로 볼 수 있음
5. 인터널 노드 Internal Node
루트노드,터미널노드를 제외한 노드
6. 서브트리
루트노드인
A
인 입장에선, 3개의 서브트리가 연결된 구조
이진트리란? (Binary Tree)
Tree
에서 어떤 규칙을 지켜야지Binary Tree
라고 불리운다.그 규칙은 무엇일까?
자식노드가 최대 "2개" 만 가져야지 이진트리이다.
트리의 레벨과 높이
트리는 아래로 갈 수록 레벨이 높다.
이 레벨의 최대 단위를 "높이"라고 표현함 .
즉 레벨이 3이면, 이 트리의 높이도 3이다.
포화 이진 트리
트리의 최대 레벨에 있는 모든 터미널 노드가, 꽉 찬 트리
예 ) 트리 높이가 3이며, 레벨3에 있는 노드(=터미널노드)들이 꽉 차있으므로 노드 추가가 불가한 상태
만약, 터미널노드가 꽉 차있지 않으면? 노드 추가 가능
2⃣학습 회고
🤔질문 | BIOS란 무엇일까?
Basic Input Output System의 약자로 , 컴퓨터 킬 때 가장 먼저 실행되는 프로그램.
주로 하드웨어가 정상적인지 검사하고, 정상인 경우 하드디스크나 SSD등에서 운영체제를 찾아 메모리로 불러오는 작업(부팅) 을 한다고 한다!.
또한, 부팅 순서나 시스템 시간 + 메모리 정보 등 각종 하드웨어 설정을 관리하는 프로그램.
🤔캐시메모리는 어디에 위치하는가?
CPU레지스터와 별도로 구분되는 메모리 공간임.
메인 메모리 : 앞으로 사용될 것 같은 데이터 미리 저장
👉🏻 CPU에서 메인메모리 데이터를 참조시 속도가 더 빠른 캐시를 먼저 "조회 "
👉🏻 만약 캐시 데이터가 있다면? 레지스터로 가져와 계산 진행 !크게 L1,L2,L3 나눠져 있음. 👉🏻 L1과 L2캐시는 CPU내부, L3는 CPU외부에 위치함.
🤔질문 | 왜 컴퓨터는 0과1로만 표현? 다른 숫자는 NO?
1. 전기 신호의 단순성
컴퓨터는 전기 신호로 작동함
전기 신호는 두 가지 상태, 즉 켜짐(ON)과 꺼짐(OFF) 로 표현하는 게 가장 간단하고 안정적.
0은 "전기 꺼짐(낮은 전압)", 1은 "전기 켜짐(높은 전압)"으로 매핑.
2. 신뢰성과 오류 최소화0과 1 두 가지 상태만 다루면 신호를 구분하기 쉬움.
예를 들어, 0은 0V, 1은 5V로 설정하면 중간 값(예: 2.5V)이 애매하게 혼동될 가능성이 적다.
만약 0~9(십진수)를 직접 사용하려면, 전압을 10단계로 나눠야 함
(예: 0V, 0.5V, 1V, ..., 4.5V) 이건 하드웨어가 복잡해지고, 작은 전압 차이로 오류가 생길 확률이 높아짐.
3. 효율적인 데이터 표현0과 1의 조합으로 모든 데이터를 표현할 수 있다.
숫자, 문자, 이미지, 심지어 소리까지 이진수로 변환 가능!
예: 문자 'A'는 ASCII 코드로 01000001(8비트). 숫자 5는 00000101.
이진수로 모든 걸 표현할 수 있으니 다른 숫자 체계(예: 0~9)를 굳이 쓸 필요가 없다.
자료구조 알고리즘 회고
재귀로 순회하는 로직을 알겠으나,
생성자를 통해 노드를 생성하고, 서브트리를 만들어서 기능 설정하는 부분이 익숙하지 않아서 어려웠다.
추후, 이번 강의에 대한 <기본편> 학습이 더욱 필요하다는 것을 깨달았다.
3⃣미션 해결
불대수 방정식을 활용하여, 간단하게 식을 정리하는 법이 재미있었다. 증명하는 과정이 흥미로웠다.
강의에서 배운 내용 ( 법칙들 ) 적용해가며 식을 스스로 증명하는게 재미있었다
그러나 자료구조와 알고리즘 문제는 <기본편> 학습이 제대로 되지 않은 상태에서 <심화편> 수업과 미션을 수행하려니 너무 어렵고 버거웠다. 그래서 자료구조 알고리즘 미션은 공란으로 제출해버렸다 ....
해당 미션은 차주에 <기본편>학습을 하며 미션을 해결할 예정이다.
4⃣학습일지
댓글을 작성해보세요.