CS26 선형대수학에서 선형이란? 1. 선형(Linear)이란? 컴퓨터 과학에 대해 배울 때 우리는 ‘선형’이라는 말을 자주 접합니다. 알고리즘에서 선형 복잡도를 말할 때도 '선형'이라는 말이 쓰이고, 자료구조 등에서도 '선형'이라는 말은 굉장히 많이 쓰입니다. 하지만 저는 '선형'의 의미가 모호할 때가 많았습니다. 선형대수학에서의 '선형'은 제가 알고 있는 선형과 다른 것 같았기 때문입니다. 그래서 이번 기회에 ‘선형’의 정확한 의미에 대해 확실히 알고자 이렇게 글을 쓰게 되었습니다. 2. 선형의 두 가지 정의 미적분학에서 선형 함수 (다항식 함수 관점) y=ax+b 형태의 직선의 방정식으로 나타낼 수 있는 함수. 상수 함수또는 1차 함수인 함수입니다. 다항식 함수관점에서 선형 함수는 ‘직선’ 형태를 가지고 있습니다. 선형대수학에서 선.. 2023. 4. 2. Cache vs Registers 캐시란? - 컴퓨터 시스템의 성능을 향상시키기 위해 주로 CPU 칩 안에 포함되는 빠르고 작고 매우 비싼 메모리 - 프로그램에서 직접적으로 읽거나 쓸 수 없고 하드웨어의 메모리 관리 시스템(MMU)이 내부적으로 제어한다. - 메인 메모리에 있는 데이터를 캐시 메모리에 불러와 두고, CPU가 필요한 데이터를 캐시에서 먼저 찾도록 하면 시스템 성능을 향상시킬 수 있다. (위키 백과에서는 디스크 캐시와 기타 다른 캐시가 있는 것으로 보여지지만 이 포스팅에서는 cpu에 관련된 캐시만 다루겠습니다) 레지스터란? - 레지스터는 CPU에 존재하는 다목적 저장 공간 - 레지스터는 데이터와 명령어를 저장하는 역할을 한다. - Register는 Flip Flop의 집합이며, 이 Flip Flop이라는 것은 각각 1bit의.. 2023. 3. 29. [Research] GitHub 분석 - GitHub에 대한 특징 조사 1. 협업 코딩에 최적화 Codespace Codespaces는 코드 개발에 보다 쉽게 액세스하고 반복 가능한 구성 옵션을 확장하는 클라우드 호스팅 개발 환경이다. 팀은 Codespaces를 사용하여 반복 가능한 프로젝트 구성 생성을 포함하여 프로젝트를 사용자 지정할 수 있다. Codespaces는 2~32개의 VM 기반 서버에서 구성할 수 있으며 Visual Studio(VS) Code에서 로컬로 연결하거나 브라우저를 사용하여 원격으로 연결할 수 있다. 버전 관리 버전관리는 개발자간의 협업에 필요하다. 전체 개발 소스를 공유하면서 개발 파트를 나눌 수 있고 같은 모듈을 개발하더라도 소스를 서로 공유하며 개발할 수 있다. 버전관리 시 소스 하나 또는 묶음을 하나의 버전으.. 2023. 3. 28. 왜 Mergesort 보다 Quicksort를 사용할까? Mergesort가 Quicksort에 비해 항상 유리한 알고리즘이 아닌가? Quicksort에는 최악의 경우 O(n^2)의 시간복잡도를 가지고 있으며, 평균의 경우에는 O(nlogn)의 시간복잡도를 가지고 있습니다. 이에 비해, Mergesort는 최악의 경우와 평균의 경우 모두 O(nlogn)의 시간복잡도를 가지고 있는 굉장히 안정적인 알고리즘입니다. 그래서 알고리즘을 배우면서 Mergesort가 훨씬 유리한 알고리즘 같은데, 왜 Quicksort가 일반적으로 더 많이 사용되는지 알고 싶어졌습니다. 핵심을 말하면, 지역성(Locality) 때문입니다. Locality 지역성(Locality)은 CPU가 짧은 시간 범위 내에 일정 구간의 메모리 영역을 반복적으로 엑세스하는 경향을 말한다. Localit.. 2023. 3. 27. 이전 1 2 3 4 5 6 7 다음