일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 실기
- 코딩테스트
- Protocol
- 패스트캠퍼스
- 머신러닝
- ICQA
- 네트워크 관리사
- 네트워크
- 서브넷마스크
- 밑바닥부터 시작하는 딥러닝
- 기본 정렬
- 자료구조
- 네트워크 관리사 2급
- IPV4
- 자격증
- 파이썬
- dns
- Django
- deep learning
- FTP
- 네트워크 자격증
- Algorithm
- 딥러닝
- network
- Windows Server
- 프로토콜
- Dynamic Programming
- Python
- Machine learning
- 알고리즘
- Today
- Total
목록패스트캠퍼스 (9)
쳉지로그
재귀 용법(Recursive Call, 재귀 호출) 함수 안에서 동일한 함수를 호출하는 형태 파이썬에서는 재귀 함수 깊이가 1000 이하가 되어야 한다, 종료 조건이 항상 있어야 한다, ⚠️ 재귀 용법 사용 시 주의할 점! 파이썬에서는 재귀 함수 깊이가 1000 이하가 되어야 한다, 종료 조건이 항상 있어야 한다, 재귀 함수는 내부적으로 스택처럼 관리된다. 재귀 용법의 일반적인 형태 """ 일반적인 형태 1 """ def function_1(입력): if 입력 > 일정값: # 입력값이 일정 값 이상이면 return function(입력 - 1) # 입력값보다 작은 값 else: return 일정값, 입력값, 또는 특정값 # 재귀 호출 종료 """ 일반적인 형태 2 """ def function_2(입력)..
키(Key)에 데이터(Value)를 저장하는 데이터 구조 Key를 통해 바로 데이터를 받아올 수 있어 속도가 빠름 파이썬 딕셔너리(Dictionary) 타입 - 별도 구현 필요 없음 장점 데이터 저장/읽기 속도가 빠르다. (검색 속도가 빠르다.) 키에 대한 데이터가 있는지(중복) 확인이 쉬움 단점 일반적으로 저장공간이 조금 더 많이 필요 여러 키에 해당하는 주소가 동일할 경우 충돌을 해결하기 위한 별도 자료구조가 필요 주요 용도 검색이 많이 필요한 경우 저장, 삭제, 읽기가 빈번한 경우 캐쉬 구현시 (중복 확인이 쉽기 때문) (관련 용어) 해쉬(Hash) : 임의의 데이터를 고정 길이로 변환하는 것 해쉬 테이블(Hash Table) : 키 값의 연산에 의해 직접 접근이 가능한 데이터 구조 해싱 함수(Ha..
알고리즘 복잡도 시간 복잡도: 알고리즘 실행 속도 공간 복잡도: 알고리즘이 사용하는 메모리 사이즈 시간 복잡도의 주요 요소는 "반복문" 알고리즘 성능 표기법 대문자 O 표기법 O(1) < O( 𝑙𝑜𝑔𝑛 ) < O(n) < O(n 𝑙𝑜𝑔𝑛 ) < O( 𝑛^2 ) < O( 2^𝑛 ) < O(n!)
이중 연결 리스트라고도 함 장점: 양방향으로 연결되어 있어서 노드 탐색이 양쪽으로 모두 가능 위 코드에서 노드 데이터가 특정 숫자인 노드 앞에 데이터를 추가하는 함수를 만들고, 테스트해보기 위 코드에서 노드 데이터가 특정 숫자인 노드 뒤에 데이터를 추가하는 함수를 만들고, 테스트해보기
연결 리스트 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조 파이썬은 리스트 타입이 링크드 리스트의 기능을 모두 지원 배열의 단점(데이터 추가/삭제의 어려움)을 극복한 자료 구조 장점 미리 데이터 공간을 미리 할당하지 않아도 됨 단점 연결을 위한 별도 데이터 공간이 필요하므로, 저장공간 효율이 높지 않음 연결 정보를 찾는 시간이 필요하므로 접근 속도가 느림 중간 데이터 삭제 및 추가 시, 앞뒤 데이터의 연결을 재구성해야 하는 부가적인 작업이 필요함 기본 구조 노드(Node): 데이터 저장 단위 (데이터값, 포인터) 로 구성 포인터(pointer): 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간
데이터를 제한적으로 접근할 수 있는 구조 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조(LIFO) 큐: FIFO 정책 스택: LIFO 정책 장점 구조가 단순해서, 구현이 쉽다. 데이터 저장/읽기 속도가 빠르다. 단점 (일반적인 스택 구현시) 데이터 최대 갯수를 미리 정해야 한다. 파이썬의 경우 재귀 함수는 1000번까지만 호출이 가능함 저장 공간의 낭비가 발생할 수 있음 미리 최대 갯수만큼 저장 공간을 확보해야 함 (참고) 대표적인 스택의 활용: 컴퓨터 내부의 프로세스 구조의 함수 동작 방식 push(): 데이터를 스택에 넣기 pop(): 데이터를 스택에서 꺼내기 스택은 단순하고 빠른 성능을 위해 사용되므로, 보통 배열 구조를 활용해서 구현..
Google Colaboratory (Google Colab) Google Drive 기반으로 제공하는 서비스 하드웨어 구성 필요 x, GPU 무료 대여, 작업 산출물 간편 공유 ✔️ Ubuntu 버전의 리눅스를 사용함 Colab에 설치된 Python packages 1. Numpy import numpy as np 파이썬에서 가장 많이 사용되는 수치 계산 라이브러리 벡터와 행렬 등의 수학적인 데이터 구조 표현, 연산 대부분의 패키지가 numpy에 의존 2. Pandas import pandas as pd 보다 고차원적인 데이터 처리를 돕는 라이브러리 동일한 데이터를 가진 Series를 기본으로, 이를 여러개 묶어 사용하는 DataFrame을 사용하여 표 형태로 된 자료를 다룸 3. Matplotlib ..
줄을 서는 행위와 유사 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 예)음식점에서 가장 먼저 줄을 선 사람이 제일 먼저 음식점에 입장 FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식으로 스택과 꺼내는 순서가 반대 (참고) 멀티 태스킹을 위한 프로세스 스케쥴링 방식을 구현하기 위해 많이 사용됨 Enqueue: 큐에 데이터를 넣는 기능 Dequeue: 큐에서 데이터를 꺼내는 기능 # Queue()로 큐 만들기 import queue # FIFO Queue (일반적인 큐) data_queue = queue.Queue() data_queue.put('hello') # enqueue data_queue.put(2) data_queue.qsize() #..