일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 네트워크 관리사
- 자격증
- dns
- deep learning
- 밑바닥부터 시작하는 딥러닝
- 네트워크 관리사 2급
- 파이썬
- Machine learning
- FTP
- Dynamic Programming
- 기본 정렬
- 패스트캠퍼스
- Windows Server
- 네트워크 자격증
- Protocol
- Python
- Algorithm
- 자료구조
- Django
- network
- 알고리즘
- 네트워크
- 서브넷마스크
- IPV4
- 실기
- 머신러닝
- 프로토콜
- ICQA
- 코딩테스트
- 딥러닝
- Today
- Total
목록알고리즘 (12)
쳉지로그
키(Key)에 데이터(Value)를 저장하는 데이터 구조 Key를 통해 바로 데이터를 받아올 수 있어 속도가 빠름 파이썬 딕셔너리(Dictionary) 타입 - 별도 구현 필요 없음 장점 데이터 저장/읽기 속도가 빠르다. (검색 속도가 빠르다.) 키에 대한 데이터가 있는지(중복) 확인이 쉬움 단점 일반적으로 저장공간이 조금 더 많이 필요 여러 키에 해당하는 주소가 동일할 경우 충돌을 해결하기 위한 별도 자료구조가 필요 주요 용도 검색이 많이 필요한 경우 저장, 삭제, 읽기가 빈번한 경우 캐쉬 구현시 (중복 확인이 쉽기 때문) (관련 용어) 해쉬(Hash) : 임의의 데이터를 고정 길이로 변환하는 것 해쉬 테이블(Hash Table) : 키 값의 연산에 의해 직접 접근이 가능한 데이터 구조 해싱 함수(Ha..
알고리즘 복잡도 시간 복잡도: 알고리즘 실행 속도 공간 복잡도: 알고리즘이 사용하는 메모리 사이즈 시간 복잡도의 주요 요소는 "반복문" 알고리즘 성능 표기법 대문자 O 표기법 O(1) < O( 𝑙𝑜𝑔𝑛 ) < O(n) < O(n 𝑙𝑜𝑔𝑛 ) < O( 𝑛^2 ) < O( 2^𝑛 ) < O(n!)
이중 연결 리스트라고도 함 장점: 양방향으로 연결되어 있어서 노드 탐색이 양쪽으로 모두 가능 위 코드에서 노드 데이터가 특정 숫자인 노드 앞에 데이터를 추가하는 함수를 만들고, 테스트해보기 위 코드에서 노드 데이터가 특정 숫자인 노드 뒤에 데이터를 추가하는 함수를 만들고, 테스트해보기
연결 리스트 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조 파이썬은 리스트 타입이 링크드 리스트의 기능을 모두 지원 배열의 단점(데이터 추가/삭제의 어려움)을 극복한 자료 구조 장점 미리 데이터 공간을 미리 할당하지 않아도 됨 단점 연결을 위한 별도 데이터 공간이 필요하므로, 저장공간 효율이 높지 않음 연결 정보를 찾는 시간이 필요하므로 접근 속도가 느림 중간 데이터 삭제 및 추가 시, 앞뒤 데이터의 연결을 재구성해야 하는 부가적인 작업이 필요함 기본 구조 노드(Node): 데이터 저장 단위 (데이터값, 포인터) 로 구성 포인터(pointer): 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간