Basic Knowledge of Computer Science

February 20, 2022 · View on GitHub

Since 2020.09.04

coding

Table of Contents

About

알고리즘과 CS 기초 지식의 이론부터 구현까지, 컴퓨터공학 전공자 및 예비 개발자로서 알아야 할 필수 전공 지식들을 공부하고 기록한 저장소입니다. 매주 스터디한 흔적인 발표 자료들이 업로드되어 있으며, 더 나아가 로, 질의응답 형태로 문서화하는 것을 목표로 합니다.

Repository Rule

CS-study Repo 가이드

  • 주제별 정리 : 이론정리, 구현, 자료업로드, 질의응답
  • Commit convention rule : [대주제] 소주제 분류(이론정리/구현/...) ex) [DataStructure] Stack 자료정리
  • Branch naming convention : 대주제/닉네임 ex) DataStructure/Nickname

Collaborator

Reference

Data Structure (자료구조)

📖 정리노트

기본 자료 구조

  • Array
  • Linked List
  • Stack
  • Queue
  • Tree
  • Binary Tree
  • Graph

응용 자료 구조

  • Deque
  • Heap & Priority Queue
  • Indexed Tree (Segment Tree)
  • Trie

🔝 목차로 돌아가기

Algorithm (알고리즘)

📖 정리노트

알고리즘 기본

  • 시간복잡도와 공간복잡도
  • 완전 탐색 알고리즘 (Brute Force)
    • DFS와 BFS
    • 순열, 조합, 부분집합
  • 백트래킹 (Backtracking)
  • 분할 정복법 (Divide and Conquer)
  • 탐욕 알고리즘 (Greedy)
  • 동적 계획법 (Dynamic Programming)

알고리즘 응용

  • 정렬 알고리즘
  • 그래프
    • 최단 경로 알고리즘
    • Union Find & Kruskal
  • 두 포인터 (two-pointer)
  • 문자열 처리 알고리즘
    • KMP 알고리즘

🔝 목차로 돌아가기

Operating System (운영체제)

📖 정리노트

  • 프로세스와 스레드
  • 멀티 프로세스와 멀티 스레드
  • 프로세스 스케줄링
  • CPU 스케줄링
  • 동기와 비동기의 차이
  • 프로세스 동기화
  • 메모리 관리 전략
  • 가상 메모리
  • 캐시

🔝 목차로 돌아가기

Database (데이터베이스)

📖 정리노트

  • 데이터베이스
  • 정규화
  • Index
  • Transaction
  • NoSQL

🔝 목차로 돌아가기

Network (네트워크)

📖 정리노트

  • OSI 7 계층
  • TCP 3-way-handshake & 4-way-handshake
  • TCP 와 UDP
  • HTTP 요청 방식 - GET, POST
  • HTTP 와 HTTPS
  • DNS round robin 방식
  • 웹 통신의 큰 흐름

🔝 목차로 돌아가기

Design Pattern (디자인 패턴)

📖 정리노트

  • 디자인 패턴의 개념과 종류
  • Singleton 패턴
  • Factory 패턴
  • MVC 패턴

🔝 목차로 돌아가기

Software Engineering (소프트웨어 공학)

📖 정리노트

  • 프로그래밍 패러다임
    • 명령형 프로그래밍 vs 선언형 프로그래밍
    • 함수형 프로그래밍
    • 객체지향 프로그래밍
  • 애자일 개발 프로세스

🔝 목차로 돌아가기

Language

📖 정리노트

  • Java
  • C++

🔝 목차로 돌아가기