일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Firebase
- text to speech
- customPopup
- 버블정렬
- android java
- 연결리스트
- 플러터
- 링크드리스트
- 자바
- IOS
- 안드로이드
- xocde
- TextField
- 커스텀팝업
- Xcode
- label
- Android Studio
- swift baekjoon
- Swift
- deeplink
- C언어
- BAEKJOON
- 예외처리
- storyboard
- Android
- 보호와 보안
- 백준
- 준코딩
- FLUTTER
- 안드로이드스튜디오
- Today
- Total
목록프로그래밍/C언어 (6)
준코딩
해시? : 특정한 값을 찾고자 할 때는 그 값의 키(Key)로 접근 가능. 일반적으로 해시 함수는 연산으로 이루어져 있다. 1) 데이터를 최대한 빠른 속도로 관리하도록 도와주는 자료 구조. 2) 메모리 공간이 많이 소모되지만 매우 빠른 속도로 데이터를 처리할 수 있습니다. 3) 빠르게 데이터에 접근할 수 있다는 점에서 데이터베이스 등의 소프트웨어에서 활용됩니다. 해시함수의 동작 과정 데이터 키 값 101 / A 해시 함수 1 A 203 / B (n mod 100) -> 100으로 나눈 나머지값 2 C 202 / C 3 B 304 / D 4 D 해시 충돌 해시 함수 키 값 101 / A (n mod 100) 1 A 201 / B 1 (충돌 발생) B 해시 충돌을 처리하는 방법 선형 조사법 해시 함수 키 값..

데이터 영역 -프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야 소멸 (전역변수) 힙 영역 -동적 할당을 통해 생성된 동적 변수를 관리하기 위한 영역 -사용자가 직접 관리 해야만 하는 영역(컴파일 시기에 크기 알 수 없음) 스택 영역 -함수 내에 정의된 지역 변수가 저장되는 영역 (컴파일 하는 동안 결정) Stack vs Heap 장단점 스택 -매우 빠른 액세스 -변수를 명시 적으로 할당 해제 할 필요가 없습니다. -공간은 CPU에 의해 효율적으로 관리되고 메모리는 단편화되지 않습니다. -지역 변수 만 -스택 크기 제한 (OS에 따라 다름) -변수의 크기를 조정할 수 없습니다. 힙 -변수는 전역 적으로 액세스 할 수 있습니다. -메모리 크기 제한 없음 -(상대적으로) 느린 액세스 -효율적인 공간 ..
#include #include typedef struct Node {int data;struct Node *nextadd;}NODE; NODE *firstnode = NULL;NODE *lastnode = NULL;int cnt = 0; void add(int num) {if (cnt > 9) {printf("You can't make more than 10 of them.");return;}NODE *newnode = (NODE *)malloc(sizeof(NODE));cnt++;newnode->data = num;newnode->nextadd = NULL;if (firstnode == NULL) { firstnode = newnode;lastnode = newnode;}else {lastnode->..
#include #include typedef struct Node {int data;struct Node *nextadd;}NODE; NODE *firstnode = NULL;NODE *lastnode = NULL;int cnt = 0; void add(int num) {if (cnt > 9) {printf("최대 10개까지 만들수 있습니다.");return;}NODE *newnode = (NODE *)malloc(sizeof(NODE));cnt++;newnode->data = num;newnode->nextadd = NULL;if (firstnode == NULL) { firstnode = newnode;lastnode = newnode;}else {lastnode->nextadd = newnode;..
#include #include typedef struct Node { //노드 구조int data;struct Node *nextadd;}NODE; NODE *firstnode = NULL;NODE *lastnode = NULL; void add(int num) { //노드 생성NODE *newnode = (NODE *)malloc(sizeof(NODE));newnode->data = num;newnode->nextadd = NULL;if (firstnode == NULL) { firstnode = newnode;lastnode = newnode;}else {lastnode->nextadd = newnode;lastnode = newnode;}} void erase(int num) { // 노드 삭제N..
#include #include #include void swap(int*, int*);void stack(int*, int*);void bubbleSort(int[], int);int input_num(int *result, int form);void swap(int*num1, int*num2) {int temp;temp = *num2;*num2 = *num1;*num1 = temp;} void bubbleSort(int num[], int size) {int i, j;for (j = 0; j num[i + 1]) {swap(&num[i], &num[i + 1]);}}}} int input_..