[ 워밍업클럽 4기 ] 컴퓨터 구조와 자료구조 알고리즘 - 1주차 발자국

[ 워밍업클럽 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⃣학습일지

컴퓨터 구조

자료구조와 알고리즘

 

 

댓글을 작성해보세요.

채널톡 아이콘