일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OpenAI
- LG Aimers 4th
- 오블완
- gpt
- LG Aimers
- AI
- regression
- 해커톤
- LG
- supervised learning
- 머신러닝
- Machine Learning
- 분류
- Classification
- 티스토리챌린지
- 딥러닝
- deep learning
- LLM
- ChatGPT
- PCA
- 지도학습
- GPT-4
- 회귀
- Today
- Total
목록분류 전체보기 (334)
SYDev
빠른 탐색의 성능을 보이는 테이블 자료구조와 테이블에 의미를 부여하는 해쉬 함수를 이해하고, 두 개념이 합쳐진 해쉬 테이블을 구현해보자. 테이블 자료구조의 이해 테이블(Table): 저장되는 데이터의 키(key)와 값(value)이 하나의 쌍을 이루는 자료 구조를 의미한다. 키(key)가 존재하지 않는 '값'은 저장할 수 없다. 그리고 모든 키는 중복되지 않는다. 하나의 키(key)에 대응되는 값(value)는 하나이기 때문에, 테이블 자료구조의 탐색 연산은 $O(1)$의 시간 복잡도를 가진다. 배열을 기반으로 하는 테이블 #include typedef struct _empInfo { int empNum; int age; } EmpInfo; int main(void) { EmpInfo empInfoArr..
토이 프로젝트에서 cv를 처음 경험해봤는데, 나름 재미도 있고 흥미가 생겨서 cv트랙을 신청해봤다 :) 이번 주는 첫 주차인 만큼 앞으로 뭘 하는지 알려주고, 가벼운 개념 설명만 진행하는 OT! 컴퓨터 비전(CV)이란? 컴퓨터 비전(computer vision): 시각적 세계를 해석하고 이해하도록 컴퓨터를 학습시키는 인공지능 분야를 의미한다. 컴퓨터 비전의 대표적인 예로는 객체 탐지, 객체 분할, 이미지 생성, 객체 분류, 이미지 캡셔닝, 객체 추적, 행동 분류가 있다. (토이프로젝트에서 내가 했던 건 객체 탐지!) 단층 퍼셉트론 자세한 설명은 여기에 -> https://sypdevlog.tistory.com/120 [KHUDA 4th] 머신러닝 3주차 기초 세션 (08.16) 3주차 세션 발표 내용 정..
이진 탐색 트리의 단점을 개선한 자료 구조 중 하나인 AVL 트리를 이해하고, 구현해보자. 이진 탐색 트리의 문제점 이진 탐색 트리는 다음 그림과 같이 균형이 맞지 않을수록 $O(n)$에 가까운 시간 복잡도를 보인다. 이렇듯 저장 순서에 따라 탐색의 성능에 큰 차이를 보이는 것이 이진 탐색 트리의 단점이다. AVL 트리의 이해 이진 탐색 트리가 자동으로 균형을 잡을 수 있도록 개선한 트리 중 하나가 AVL 트리이다. G. M. Adelson-Velskii와 E. M. Landis에 의해 고안되었으며, 그들의 이름을 따서 정해졌다. AVL 트리에서는 균형의 정도를 표현하기 위해 '균형 인수(Balance Factor)'라는 것을 사용한다. 리밸런싱(rebalancing): 균형을 잡기 위한 트리 구조의 재..
이진 탐색 트리에 대해 이해하고, 이를 구현해보자. 이진 탐색 트리 이진 탐색 트리(Binary Search Tree): '이진 트리'에 '데이터의 저장 규칙'을 더해놓은 탐색 알고리즘이다. - 이진 탐색 트리의 노드에 저장된 키(key)는 유일하다. - 루트 노드의 키가 왼쪽 서브 트리를 구성하는 어떠한 노드의 키보다 크다. - 루트 노드의 키가 오른쪽 서브 트리를 구성하는 어떠한 노드의 키보다 작다. - 왼쪽과 오른쪽 서브 트리도 이진 탐색 트리이다. 이진 탐색 트리의 삽입과 탐색 구현 이전에 구현한 BinaryTree2.h와 BinaryTree2.c를 이용한다. 파일명: BinarySearchTree.h #ifndef __BINARY_SEARCH_TREE_H__ #define __BINARY_SEA..
데이터를 찾는 방법인 탐색에 대해 이해하고, 보간 탐색을 구현해보자. 탐색의 이해 탐색: '데이터를 찾는 방법'을 의미한다. 이전에 배운 '순차 탐색(linear search)'이나 '이진 탐색(binary search)'가 이에 해당한다. 효율적인 탐색을 위해서는 '어떻게 찾을까'만을 고민하기 전에, '효율적인 탐색을 위한 저장방법이 무엇일까'를 고민해야 한다. 효율적인 탐색이 가능한 대표적인 저장방법은 '트리'이다. 보간 탐색 보간 탐색(Interpolation Search): 찾는 대상의 위치를 고려하지 않고 일관적으로 절반씩 줄여나가며 탐색을 진행하는 '이진 탐색'의 비효율성을 개선시킨 알고리즘이다. 보간 탐색의 구현 #include int Isearch(int ar[], int first, in..
1st NE(O)RDINARY DEMODAY -> https://demoday.neordinary.co.kr/ -> TEAMING: 팀 프로젝트 관리하는 서비스인데, 실제로 꽤 유용하게 사용할 수 있을 것 같았다. -> 오토콜: 기업의 프라이빗 네트워크에서 공격받은 해킹 로그들을 기록하고 관리하는 웹인데, 보안은 처음 접해봐서 신기했고, 나름 구현이 잘 되어있었다. --> 이외에도 청년대상 혜택 정리해주는 서비스라던가 많이 있었는데 집에 와보니 막상 사진으로 담은 게 없었다.. 알바 끝나고 바로 가서 정신없었지만, 나름 괜찮은 하루였을지도..? 😵💫😗
복잡하지만 효율적인 정렬 알고리즘에 대해 알아보자. 힙 정렬 이해와 구현 힙 정렬(Heap Sort): 힙 자료구조를 이용하여 정렬을 진행하는 알고리즘이다. #include #include "UsefulHeap.h" int PriComp(int n1, int n2) { return n2-n1; //오름차순 } void HeapSort(int arr[], int n, PriorityComp pc) { Heap heap; int i; HeapInit(&heap, pc); for(i=0; i
퀵 정렬 공부하다가 문득 궁금해진 점, 중첩 while문에서 내부 while문을 돌리는 도중 바깥 while문의 중지 조건을 충족하면 그대로 멈출까 아니면 내부 while문이 모두 돌아가고 멈출까? 말로 하면 복잡하니 코드로 결과를 보자. #include int main(void) { int i=9; int j=0; while(i 바깥 while문의 중지 조건을 만족해도 안쪽 while문을 다 돌릴때까진 멈추지 않는다!!!