How many Programing

고정 헤더 영역

글 제목

메뉴 레이어

How many Programing

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (64)
    • Study Diary (16)
      • Programing (16)
    • Programing (48)
      • C, C++ (14)
      • OpenCV (23)
      • Python (11)

검색 레이어

How many Programing

검색 영역

컨텐츠 검색

Programing/C, C++

  • 자료구조 및 STL 요약

    2024.07.24 by CouqueD'asse

  • #자료구조와 함께 배우는 알고리즘 입문 C언어 - 13

    2022.06.08 by CouqueD'asse

  • #자료구조와 함께 배우는 알고리즘 입문 C언어 - 12

    2022.06.03 by CouqueD'asse

  • #자료구조와 함께 배우는 알고리즘 입문 C언어 - 11

    2022.06.02 by CouqueD'asse

  • #자료구조와 함께 배우는 알고리즘 입문 C언어 - 10

    2022.05.30 by CouqueD'asse

  • #자료구조와 함께 배우는 알고리즘 입문 C언어 - 9

    2022.05.26 by CouqueD'asse

  • #자료구조와 함께 배우는 알고리즘 입문 C언어 - 8

    2022.05.25 by CouqueD'asse

  • #자료구조와 함께 배우는 알고리즘 입문 C언어편 - 7

    2022.05.20 by CouqueD'asse

자료구조 및 STL 요약

시간복잡도시간복잡도는 알고리즘이나 연산이 입력 크기 \(n\)에 따라 수행되는 시간을 표현하는 방식입니다. 주로 빅오 표기법을 사용하여 최악의 경우를 나타냅니다. 예: \(O(1)\), \(O(n)\), \(O(n^2)\), \(O(\log n)\), \(O(n \log n)\).스택과 큐스택 (Stack): LIFO (Last In, First Out) 구조. 예: 함수 호출 스택, 웹 브라우저의 뒤로 가기.큐 (Queue): FIFO (First In, First Out) 구조. 예: 프린터 작업 대기열, BFS 탐색.벡터와 리스트벡터 (Vector): 동적 배열로, 요소에 대한 임의 접근이 빠름 (\(O(1)\)). 예: 연속적인 데이터 처리가 필요한 경우.리스트 (List): 이중 연결 리스트로,..

Programing/C, C++ 2024. 7. 24. 21:30

#자료구조와 함께 배우는 알고리즘 입문 C언어 - 13

11장 해시 11-1 해시법 데이터를 저장할 위치(인덱스)를 간단한 연산으로 구하는 것으로, 검색뿐만 아니라 추가, 삭제도 효율적으로 수행하는 방법 충돌 : 저장할 버킷이 중복되는 현상 충돌에 대한 대처 1. 체인법 : 같은 해시값을 갖는 요소를 연결 리스트로 관리 2. 오픈 주소법 : 빈 버킷을 찾을 때까지 해시를 반복 키 값과 데이터 // 회원데이터 구조체 정의(헤더) #ifndef __Member #define __Member typedef struct { int no; char name[20]; } Member; #define MEMBER_NO 1 #define MEMBER_NAME 2 int MemberNoCmp(const Member* x, const Member* y); int MemberN..

Programing/C, C++ 2022. 6. 8. 15:32

#자료구조와 함께 배우는 알고리즘 입문 C언어 - 12

10장 트리 10-1 트리 데이터 사이의 계층 관계를 나타내는 자료구조 트리 구성하는 요소 : 노드, 가지 트리 관련 용어 루트 : 가장 윗부분에 위치하는 노드 리프 : 가장 아랫부분에 위치하는 노드 (마지막에 위치한 노드) 안쪽 노드 : 루트를 포함하여 리프를 제외한 노드 자식 : 어떤 노드로부터 가지로 연결된 아래쪽 노드 (자식을 여러개 가질 수 있음) 부모 : 어떤 노드로부터 가지로 연결된 위쪽 노드 형제 : 같은 부모를 가지는 노드 조상 : 어떤 노드에서 가지로 연결된 위쪽 노드 전체 자손 : 어떤 노드에서 가지로 연결된 아래쪽 노드 전체 레벨 : 루트로부터 얼마나 떨어져 있는지에 대한 값 차수 : 노드가 갖는 자식의 수 높이 : 루트부터 가장 멀리 떨어진 리프까지의 거리 서브 트리 : 트리 안에..

Programing/C, C++ 2022. 6. 3. 16:05

#자료구조와 함께 배우는 알고리즘 입문 C언어 - 11

09-3 커서로 연결 리스트 만들기 각 노드를 배열 안의 요소에 저장하고 그 요소를 잘 이용해 연결 리스트를 구현하는 방법 커서(cursor) : 포인터 역할을 하는 인덱스 // 커서로 만드는 연결 리스트(헤더) #ifndef __ArrayLinkedList #define __ArrayLinkedList #include "Member.h" #define Null -1 typedef int Index; typedef struct { Member data; Index next; // 다음 노드 Index Dnext; // 프리 리스트 다음 노드 } Node; typedef struct { Node* n; // 리스트 배열 Index head; // 머리 노드 Index max; // 꼬리 노드 Index d..

Programing/C, C++ 2022. 6. 2. 17:15

#자료구조와 함께 배우는 알고리즘 입문 C언어 - 10

9장 리스트 09-1 선형 리스트 리스트란? 데이터를 순서대로 나열한 자료구조 노드(요소) : 리스트의 데이터 각각의 노드는 데이터와 다음 노드를 가리키는 포인터를 가지고 있음. 09-2 포인터로 연결 리스트 만들기 // 포인터로 만드는 연결 리스트(헤더) #ifndef __LinkedList #define __LinkedList #include "Member.h" // 노드 typedef struct __node { Member data; struct __node* next; // 다음 노드에 대한 포인터 } Node; // 연결 리스트 typedef struct { Node* head; // 머리 노드에 대한 포인터 Node* crnt; // 선택한 노드에 대한 포인터 } List; void Init..

Programing/C, C++ 2022. 5. 30. 14:44

#자료구조와 함께 배우는 알고리즘 입문 C언어 - 9

8장 문자열 검색 08-1 문자열의 기본 문자열이란? 문자의 나열 : 문자 하나만 있어도 좋고, 빈 문자열도 문자열 문자열 리터럴 문자의 나열을 2개의 큰따옴표(")로 묶은 것 문자열 리터럴의 자료형 char형 배열 : 문자의 리터럴의 표현식을 평가하여 얻는 자료형은 char*형이고 그 값은 첫 번째 문자에 대한 포인터 문자형 리터럴의 메모리 영역 기간 정적 메모리 영역의 기간과 같음. 프로그램 시작부터 끝까지 메모리 영역이 유지됨 상수의 성질을 갖는 문자열 리터럴 변수가 아니라 상수의 성질을 가지고 있음. 저장된 메모리 영역에 값을 대입할 수 없음 // 배열에 문자열 저장하기 int main(void) { char st[10]; st[0] = 'A'; st[1] = 'B'; st[2] = 'C'; st..

Programing/C, C++ 2022. 5. 26. 15:13

#자료구조와 함께 배우는 알고리즘 입문 C언어 - 8

7장 집합 07-1 집합 집합이란? 명확한 조건을 만족하는 자료의 모임 집합과 원소 집합 : 객관적으로 범위를 규정한 '어떤 것'의 모임 원소 : 집합 안에서 각각의 '어떤 것' 부분집합과 진부분집합 부분집합 A = {1, 3} ⊂ B = {1, 3, 5} A = {1, 3, 5} ⊂⊃ B = {1, 3, 5} o o 진부분집합 A = {1, 3} ⊂ B = {1, 3, 5} A = {1, 3, 5} ⊂⊃ B = {1, 3, 5} o x 집합의 연산 합집합 : A = {1, 3, 5} ∪ B = {1, 4, 6} = {1, 3, 4, 5, 6} 교집합 : A = {1, 3, 5} ∩ B = {1, 4, 6} = {1} 차집합 : A = {1, 3, 5} - B = {1, 4, 6} = {3, 5} 07-..

Programing/C, C++ 2022. 5. 25. 14:37

#자료구조와 함께 배우는 알고리즘 입문 C언어편 - 7

06-3 단순 선택 정렬 가장 작은 요소부터 선택해 알맞은 위치로 옮겨서 순서대로 정렬하는 알고리즘 void selection(int a[], int n) { int i, j; for (i = 0; i < n; i++) { int min = i; for (j = i + 1; j < n; j++) { if (a[j] < a[min]) { min = j; } } swap(a[i], a[min]); } } 06-4 단순 삽입 정렬 선택한 요소를 알맞은 위치에 삽입하는 작업을 반복하여 정렬하는 알고리즘 장점 : 정렬을 마쳤거나 정렬을 마친 상태에 가까우면 정렬 속도가 매우 빠르다. 단점 : 삽입할 위치가 멀리 떨어져있으면 이동(대입)해야 하는 횟수가 많아진다. (느리다) void insertion(int a[]..

Programing/C, C++ 2022. 5. 20. 15:12

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
How many Programing © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바