일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- WebProgramming
- meta
- java
- function
- 윈도우즈
- 포인터
- CSS
- OOP
- 악성코드
- Kafka
- 노드
- 투자
- UTF-8
- c++
- jsp
- HTML
- JavaScript
- CLASS
- query
- 자료구조
- Call-by-reference
- windows
- array
- API
- beans
- algorithm
- System
- C
- Sort
- request
- Today
- Total
목록자료구조 (3)
hahahia
Heap(힙) 이라는 자료구조를 이용해 정렬을 하는 알고리즘입니다.일반적으로 버블정렬, 삽입정렬, 선택정렬은 O(n^2)의 시간복잡도 이지만힙정렬은 힙의 구조상 시간복잡도가 O(nlogn)으로 상대적으로 효율적인 알고리즘입니다. n^2 시간복잡도의 sort 알고리즘에 비해서 좀 구현이 까다로울 수 있지만 그래도 힙의 구조를 이해하면 쉽게 구현하실 수 있을꺼같아요. 아 그리고.... 힙소트는 힙이라는 자료구조를 만들어둔 상태에서 소트를 하는 알고리즘이기 때문에입력을 받을때부터 Insert함수에서 힙으로 만들어줍니다.이 밑에 있는 요상한 것이 바로 힙(Heap)이라는 건데요. 구조적으로 바이너리 트리를 만족하고,현재 노드v의 원소의 value는 노드v의 left, right(즉 자식이겠죠.)의 원소보다 va..
/* linkedlist.cpp */ #include using namespace std; class Node { public: Node* prevNode; Node* nextNode; int nodeData; int nodeIndex; Node() { prevNode = NULL; nextNode = NULL; nodeData = 0; nodeIndex = 0; } Node(int _data) { prevNode = NULL; nextNode = NULL; nodeData = _data; nodeIndex = 0; } }; class LinkedList{ private: int count; Node* first; public: LinkedList() { count = 0; first = new Node..
입력과 출력 작업이 리스트의 한 쪽 끝에서만 이루어지는 선형 리스트의 한 형태 선입후출의 구조(FILO; First-In Last-Out) /* stack.cpp 배열을 사용한 스택 구현 */ #include #define size 10 char stack[size]; int top = 0; // stack pointer int i = 0; void push(char ch); // push char pop(); // pop void printstack(); // 현재 stacklist 출력 void push(char ch) { if(top==size) // stack overflow { printf("stack is full\n"); return; } stack[top] = ch; // 스택에 한 문자 ..