2023.12.20 TIL - CS지식(하드웨어, 자료구조, 알고리즘)

Innes·2023년 12월 20일
0

TIL(Today I Learned)

목록 보기
21/147
post-thumbnail

📘 오늘의 공부

1. PC부품 및 역할 알아보기

1) 본체 안에는 무엇이 들어있는가?

< 6가지 기본부품 >
1. CPU(중앙처리장치)

  • 인간의 뇌
  • 트랜지스터의 집합체
  • 성능표에서 체크해보아야할 3가지
    • 동작 속도(클럭) : 트랜지스터가 얼마나 빠르게 일하는지의 수치
    • 코어
    • 쓰레드

2.RAM(임시저장장치)

  • CPU가 각종 작업들을 효과적으로 처리하기 위해 준비해놓는 작업공간
  • 임시 창고
  • 사무용, 가벼운 게임 : 4~8기가
  • 작업용, 무거운 게임 : 16기가 이상
  1. 메인보드
  • 데이터버스 : CPU로 보내주는 데이터들의 통로
  • 각종 부품 장착 가능한 소켓, 슬롯
  • 중요 부품들에 전력 공급함
  1. 저장장치(HDD, SSD)
  • 각종 데이터들을 저장해놓는 창고
  • 하드디스크(HDD)
    • 플래터, 암(Arm)으로 구성/ 회전속도 빠를수록 성능 높음, 소음 진동 높음
    • 용량대비 가격 저렴, 중요한 데이터 백업용으로 좋음
  • SDD
    • 고용량 usb 메모리칩들을 여러개 넣은 구조
    • 회전X, 소음없음, 저장된 자료검색 속도 빠름
    • 데이터복구가 불안정
  1. Power Supply(전원공급장치)
  • 컴퓨터의 전원
  • 교류 -> 직류 변환 장치
  1. 그래픽카드(VGA)
  • GPU : 본 작업장
  • VRAM : 임시 작업장(그래픽카드 전용램)

2. 알고리즘

1) Sorting Algorithm

  • sorting 이란?
    • 정리하는것(A-Z 정렬, 큰수에서 작은수 정렬 등)

2) Bubble Sort(버블정렬)

  • 비교, 스와핑의 싸이클 반복
  • 시간복잡도 : O(n^2)

    (출처 : 노마드코드)

3) Selection Sort(선택정렬)

  • 배열 중 가장 작은 숫자를 선택 및 변수지정, 한 싸이클 끝나면 가장 작은 숫자를 맨 왼쪽으로 옮김 -> 비교, 스와핑의 반복
  • 시간복잡도 : 버블정렬과 동일

4) Insertion Sort(삽입정렬)

  • 시간복잡도 : 버블정렬과 동일

-> 시간복잡도가 모두 동일하다면, Big O 는 엉터리인 것인가?
(최악의 시나리오 말고, 평균적인 상황을 봐야 함!)
-> 동일한 시간복잡도에서도 알고리즘 작동 방식과 스피드는 다를 수 있다!

profile
꾸준히 성장하는 우상향 개발자

0개의 댓글