
해시테이블이란 key에 data를 저장하는 데이터 구조이다. 파이썬의 딕셔너리 구조와 동일하다. key를 통해 data를 찾아가는 과정은 다음과 같다. key를 hash 함수에 넣고 일정한 길이의 해시 코드를 얻게 된다. 이후 3으로 나눈 나머지인 0, 1, 1이 index가 되며 이를 통해 data를 찾을 수 있다. 해시 테이블의 장점은 저장/읽기의 속도가 빠르다는 것이다. 따라서 검색, 조회가 빈번한 작업인 경우에 해시테이블을 활용하면 빠르게 데이터를 관리하는 효과를 얻을 수 있다. 하지만 장점이 있으면 단점이 있는법! index가 중복되는 경우 저장시에 충돌이 발생한다는 것이 단점이다. 해시 함수가 10을 나눈 나머지를 구하는 것이라고 가정해보자. 이러면 숫자 28을 10으로 나누면 8이 나머지이다..

처음에 링크드리스트에 대한 개념이 잡히지 않아 이해하기가 힘들었다. 하지만 프로그래밍을하며 메모리를 사용하는 방법에 대해 어느 순간 감이 왔고 링크드리스트에 대한 이해가 완벽하진 않지만 예전보다는 많이 되었다. 배열은 순차적으로 메모리의 공간을 사용한다. 아래의 그림처럼 4개 짜리의 배열을 선언 후 각각에 값을 저장하여 순차적으로 데이터를 한 공간에 나열한다. 이렇게 하면 장점은 빠르게 원하는 index에 맞는 데이터를 찾을 수 있다. 학창시절에 새로운 학교에 입학 했을 때 2학년 10반을 찾으려고 한다면 보통 어떻게 했을까? 나는 계단을 오른 후 2학년 1반을 찾아 그 길로 계속 가면 10반이 나왔다. 1반에서 부터 10반이 한 층에 순차적으로 놓여있으면 반을 찾기가 쉽다. 하지만 배열의 단점은 데이터..
파이썬으로 네트워크 소켓 프로그래밍을 하던 도중 Error argument after * must be an iterable 오류가 발생하였다. 에러 문구 Python Threading module Error argument after * must be an iterable 문제 발생 코드 client = threading.Thread(target=modifythreshold, args=(conn)) threading 라이브러리를 사용할 때 args 파라미터는 iterable 해야한다. args=(conn)) 이부분을 args=(conn,)) 쉼표 하나 붙여주면 해당 에러가 더이상 발생하지 않는다.
- Total
- Today
- Yesterday
- 카카오페이
- 그리디
- 리눅스
- linux
- Ai
- llm
- 카카오페이면접후기
- synflooding
- FastAPI
- 프로그래머스
- LangChain
- 자료구조
- 정보보안
- lightsail
- 다이나믹프로그래밍
- 보안
- java
- 분산시스템
- 백준
- 시간초과
- springboot
- Python
- 보안기사
- t-test
- 코딩테스트
- 딥러닝
- 파이썬
- 정보보안기사
- 우선순위큐
- t검정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |