일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- architecture
- MacOS
- control
- web
- DATAPATH
- while
- XML
- instruction
- CSS
- github
- Linux
- function
- Java
- php
- Class
- DoM
- Pipelining
- system
- DS
- python
- react
- Algorithm
- for
- data structure
- computer
- javascript
- mysql
- MIPS
- DB
- html
- Today
- Total
목록분류 전체보기 (395)
YYYEJI

재귀 트리(Recursion Tree Theorem)란? 각 노드가 재귀호출되는 하위 문제에 대한 비용을 나타내는 방법입니다. 치환법으로 추측이 불가능할 때 사용합니다. Step 1: 식 구하기 T(n) = 3T(n/4) + Θ(n2) 계수는 중요하지 않으므로 Θ를 풀 때 c(c>0)로 대체해줍니다. T(n) = 3T(n/4) + cn² Step2: 재귀트리 구하기 cn²을 기준으로 3개의 branch를 생성해줍니다. 위와 같은 방식으로 계속 branch를 생성해 줍니다. T(1)이 나올 때까지 트리를 이어가 줍니다. Step3: 트리의 길이(height) 구하기 그림을 따라서 각각의 트리 레벨의 길이를 구하다보면 트리의 총 길이는 1 = n/4ʰ임을 알 수 있습니다. 1 = n/4ʰ 은 n = 4ʰ로 ..

점근적 표기법(Asymptotic notation)란? 어떤 함수의 증가 양상을 다른 함수와의 비교로 표현하는 수론과 해석학의 방법으로, 중요하지 않은 상수와 계수들은 무시하면서 실행시간을 표기하는 것을 말합니다. 점근적 표기법의 종류는 아래와 같습니다. Theta - f(n) = θ(g(n)) BigO - f(n) = O(g(n)) Omega - f(n) = Ω(g(n)) Little Oh - f(n) = o(g(n)) Little Omega - f(n) = ω(g(n)) Theta, BigOh, Omega는 자주 사용되기 때문에 더 자세히 알아보도록 하겠습니다. BigO - f(n) = O(g(n)) Big O는 최악의 경우에 이 기준을 넘지 않음을 의미합니다. Omega - f(n) = Ω(g(n)..

시간복잡도(Time complexity)란? 작성한 코드의 실행 시간을 말합니다. 작성한 코드의 반복문, 입력 값 등을 통해 대략적으로 실행 시간을 추측할 수 있습니다. 아래 그래프는 자료의 수가 증가함에 따라 소요되는 처리시간 증가율을 나타내는 그래프입니다. 하나하나 살펴보도록 하겠습니다! O(1) printf("Hello world!") O(1)은 일정한 복잡도(constant complexity)이며, 입력값이 증가하더라도 시간이 증가하지 않습니다. o(n) for(int i = 0; i0){ i+=j; j/=2; } O(log n)은 로그 복잡도(logarithmic complextify)라고 부르며, 알고리즘을 수행할 때마다 찾아야할 대상이 절반으로 줄게됩니다. → O(1) 다음으로 빠른 시간 ..

웹 서버 (Web server)란 ? HTTP/HTTPS를 통해 웹 브라우저에 요청하는 HTML 문서나 오브젝트(이미지 파일 등)을 전송해주는 서비스 프로그램을 말합니다. 웹서버 운영을 vs code로 하는 법을 알아봅시다. ↓↓↓ VS code로 웹서버 운영하기 ↓↓↓ 1. VS code를 켜줍니다. 2. Extension에 들어가서 Live Server을 검색합니다. 3. VS code 하단에 Go Live가 뜨면 설치가 잘 됐다는 뜻입니다! 4. Go Live를 클릭하면 Port: 5500이 뜨게 됩니다. 5. Port: 5500이 뜨면서 웹 페이지도 같이 켜집니다. 6. 파일을 들어가면 미리 만들어놓은 웹페이지를 확인할 수 있습니다. 7. VS code 하단에 있는 Go Live 버튼을 다시 클릭..

Jupyter notebook(주피터 노트북)이란? 코드를 한 줄씩 작성해서 결과를 바로 확인할 수 있는 유용한 툴입니다. 편리한 기능을 다수 보유하고 있습니다. ↓↓↓ ANACONDA 설치하기 ↓↓↓ https://yyyeji.tistory.com/229 [Python] 맥(MacOS)에서 Conda 설치하기 Conda란? 콘다란 언어의 패키지, 의존관계, 환경을 관리하는 가상환경 도구입니다. 가상환경인 콘다에서는 패키지를 다운로드 받는게 쉽습니다. 콘다는 어떤 운영체제(MacOS or Windows or Linux)를 가지 yyyeji.tistory.com ANACONDA.NAVIGATOR을 키고 JupyterLab의 Launch 버튼을 클릭합니다. 그러면 아래와 같은 터미널(terminal) 창과 ..

Sequel Ace는 Mac App Store에서 제공하는 MySQL GUI Tool 입니다. App store에 들어가서 sequel ace를 다운로드 해줍니다. 다운로드를 하고 앱을 실행신키면 아래와 같은 화면이 뜹니다. Name - 원하는 이름 Host - localhost Username - root Password - "????" Connect를 눌러줍니다. 상단에 보이는 노란색 드롭다운(dropdown) 버튼을 클릭하면 현재 가지고 있는 table 중에 하나를 선택할 수 있습니다. ◡̈

Docker Image는 도커에서 서비스 운영에 필요한 서버 프로그램, 소스코드 및 라이브러리, 컴파일된 실행 파일을 묶는 형태를 말합니다. 원하는 이미지를 다운받고 아래 코드와 같은 명령어를 터미널(Terminal)에 실행시킵니다. $ docker load -i db-image.tar 저는 교수님이 주신 이미지를 로드했습니다. Docker Container는 이미지(Image)를 실행한 상태로 격리된 공간에서 프로세스를 동작시키는 기술입니다. $ docker run --name MySQL -e MYSQL_ROOT_PASSWORD=0000 -d -p 3306:3306 db-image:latest --name 옆에 [원하는 컨테이너 이름]을 넣고, PASSWORD에는 비밀번호, 마지막에는 이미지를 넣어줍니..

Numpy란? 다차원 배열을 효과적으로 처리할 수 있도록 도와주는 도구로써, 현실 세계의 다양한 데이터를 배열 형태로 표현하고 python list 기능에 비해 빠르고 강력한 기능을 제공합니다. ↓↓↓ Numpy의 차원 ↓↓↓ (0, 0) (0, 1) (0, 2) (0, 3) (1, 0) (1, 1) (1, 2) (1, 3) 가로는 행(Row), 세로는 열(Column) 입니다. Numpy를 사용할 때는 아래 코드를 Import 해주면 됩니다. $ import numpy as np np.array() np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], dtype = int) array 함수에 원하는 정보를 첫번째 파라미터로 넣어주고, dty..