본문 바로가기
반응형
[자료구조] 연결 리스트 연결리스트 정의- 연결리스트는 데이터와 포인터를 가지고 있는 노드를 한 줄로 연결하여 데이터를 저장하는 자료구조- 포인터는 다음이나 이전의 노드와 연결을 담당- 연속된 메모리 구조가 아닌 파편화된 메모리에서 유용하게 사용- 접근 시간 복잡도: O(N)- 탐색 시간 복잡도: O(N)- 삽입/삭제 시간 복잡도: O(1)연결리스트 종류- Single Linked List: 각 노드에 자료 공간과 한 개의 포인터 공간이 있고 각 노드의 포인터는 다음 노드를 가리킴- Doubly Linked List: 노드에 앞 노드의 메모리 주소를 보관하는 포인터를 추가해 앞의 노드와 뒤의 노드 모두 연결- Circular Linked List: Single Linked List의 마지막 노드의 포인터가 NULL이 아닌 헤드를.. 2024. 7. 19.
[자료구조] 배열 배열이란?- 같은 자료형의 값들의 묶음으로 연속적인 메모리를 사용- 조회시 인덱스를 이용여 속도가 빠름- 메모리 공간을 사전 할당하므로 공간 이상의 값을 저장시 메모리 재할당 필요- 접근 시간 복잡도: O(1)- 탐색 시간 복잡도: O(N)- 삽입/삭제 시간 복잡도: O(N)배열 ADT배열 구조배열 조회배열 추가배열 삭제 void insert()void remove() 프로그램 언어별 메서드- C: 동일한 자료형의 묶음/* 배열 선언 및 초기화 */type arr[size];type arr[size] = {val1, ...};/* 2차원 배열 선언 및 초기화 */type arr[size][size];type arr[size][size] = {{val1, ...}, {val2, ...}};/* 동적배열 할.. 2024. 7. 19.
[기본 규칙] Python 프로젝트 구조 기본 프로젝트 구조project_name/├── project_name/│ ├── __init__.py│ ├── module1.py│ ├── module2.py│ └── ...├── tests/│ ├── __init__.py│ ├── test_module1.py│ ├── test_module2.py│ └── ...├── docs/│ └── ...├── scripts/│ └── ...├── .gitignore├── requirements.txt├── setup.py└── README.md디렉토리 및 파일 설명프로젝트 루트 디렉토리 (project_name/): 프로젝트 전체를 포함하는 최상위 디렉토리입니다.패키지 디렉토리 (project_name/): 실제 코드가 포함된.. 2024. 7. 19.
[기본 규칙] Python 코딩컨벤션 공통 규칙1. 들여쓰기는 공백 4칸을 사용. tab 사용 불가2. 각 줄의 최대 길이는 79자로 제한. 길어질 경우 \ 또는 괄호를 사용하여 다음줄로 나눔3. 모듈 레벨 함수 및 클래스 정의는 두줄 간격으로 작성4. 괄호, 중괄호, 대괄호 내부에는 공백 사용 금지5. 쉼표, 콜론, 세미콜론 앞에 공백 사용 금지. 뒤에는 공백 사용6. 주석은 한 줄의 경우 #을 사용하고 코드와 두칸의 공백을 둠. 여러 줄의 경우 """을 사용7. docstring 작성시 """을 사용 변수 및 함수1. 변수 및 함수명은 영어소문자 및 밑줄(_)로 구성된 snake_case로 작성2. 상수는 영어대문자 및 밑줄(_)로 작성. 모듈 수준에서만 작성.3. 연산자 앞뒤에 공백 사용4. 문자열의 경우 쌍따옴표(")를 사용5. 함수.. 2024. 7. 19.
[환경설정] Python 환경설정 Windowspython 사용법(버전 고정)1. python 다운로드- 버전, LTS과 CPU 확인 후 Windows installer 다운- 다운로드후 custom install을 하여 모든 유저에게 허용되도록 체크하여 설치 2. powershell에서 버전확인python --versionconda 사용법(버전 변경 가능)1. miniconda 설치- 실행 파일 다운로드하여 설치- 설치 후 환경변수(Path)에 추가 2. 가상환경 생성 및 삭제# 가상환경 생성conda create --name python=# 가상환경 삭제conda env remove --name 3. 가상환경 실행conda activate 4. 버전확인python --version MacOSpython 사용법(버전 고정)1. ter.. 2024. 7. 19.
[참고자료] 웹개발 웹 개발(프론트엔드)- [교재] Do it! 웹 디자인 교과서- [교재] Do it! 실무 순서로 배우는 프로덕트 디자인- [교재] Do it! 웹 사이트 기획 입문- [영상] Do it! 인터랙티브 웹 페이지 만들기- MDN Web Docs: - VanillaJS: - ModernJS: 웹 개발(백엔드)- [교재] 예제로 배우는 Django4- [교재] 효율과 성능의 삼위일체 Django Rest Framework, React, Next.js 웹개발의 진수- Django 4.2: - DjangoRestFramework: - [교재] 가장 빠른 풀스택을 위한 Flask&FastAPI- [교재] 처음 시작하는 FastAPI- FastAPI: - Flask 3: - pythonanywhere: 2024. 7. 19.
[참고자료] 데이터분석/인공지능 데이터분석- [교재] 데이터 사이언스 스쿨: 데이터 사이언스에 대한 수학 및 머신러닝 정리 사이트- Numpy: - Pandas: - Matplotlib: - Seaborn: - Streamlit: - Scikit-Learn 1.5:  인공지능- [교재] Understanding Deep Learning : 인공지능 최신 정보 교재 및 학습 자료 총정리- [교재] Pytorch로 시작하는 딥러닝 입문: PyTorch를 사용하여 딥 러닝에 입문하는 것을 목표- [교재] 딥러닝을 이용한 자연어 처리 입문: Tensorflow의 Keras API를 사용하여 자연어처리- paperwithcode: - Pytorch 2.3 : - Tensorflow 2.17: 2024. 7. 19.
[참고자료] 자료구조/알고리즘/코딩테스트 자료구조- [교재] 파이썬으로 배우는 자료구조 핵심원리- 잔재미코딩: https://www.fun-coding.org/post/funcodingcodes.html#알고리즘- [교재] 파이썬 알고리즘 인터뷰- 잔재미코딩: https://www.fun-coding.org/post/funcodingcodes.html#코딩테스트- [교재] 이것이 취업을 위한 코딩테스트다- [교재] 코딩테스트 합격자되기(파이썬편)코딩테스트 사이트- 프로그래머스: 코딩테스트 연습을 할 수 있고 교육, 채용 등 개발자에게 필요한 것이 갖추어진 사이트- SW Expert Academy: 삼성에서 운영하고, 알고리즘을 학습 할 수 있는 사이트- 백준 온라인 저지(solved.ac): 프로그래밍 문제를 해결한 다음, 소스를 제출하고 온라.. 2024. 7. 19.
[참고자료] Python Python- [교재] 코딩도장 (+온라인 무료 교재) - [교재] 점프투 파이썬(+온라인 무료 교재)- python3.10.13 공식 문서: - devdocs(python): 2024. 7. 19.
[로드맵] Python 로드맵 1. Python- Python3.10 → Python3.11 → Python3.121.1 Python (기본:Python3.10)- 환경설정- 소개 및 특징- 변수, 자료형 및 형변환: int/float/complex/bool/str/type- 연산자: - 산술: +(덧셈), -(뺼셈), *(곱셈), /(소수점나눗셈), //(정수나눗셈), %(나머지) - 비교: ==/!=/>/>=/1.2 Python(상세) 1.3 Python(추가: Python3.10 이후) 2. 자료구조2.1 자료구조(기본)- Array- Linked List- Stack- Queue- Deque- Hash- Tree- Heap(Priority_Queue)- Graph2.2 자료구조(심화)- AVL Tree- B Tre.. 2024. 7. 19.
반응형