반응형 자료구조 및 알고리즘5 [자료구조] 스택 스택 정의 스택 ADT 스택 구현 프로그램 언어별 메서드- C언어 - C++: STL의 stack 사용/* 스택 STL 사용 */#include // 스택 생성stack stack;// 값 추가stack.push(data);// 값 제거stack.pop();// 값 확인stack.top();// 크기 확인stack.size();// 비어있는지 확인stack.empty(); - C#: Stack 클래스 사용/* Stack 클래스 사용 */using System.Collections;// 스택 생성Stack stack = new Stack();// 값 추가stack.Push(data);// 값 제거stack.Pop();// 값 확인stack.Peek();// 요소 개수 반환stack.Count;// 모든 요.. 2024. 8. 9. [자료구조] 연결 리스트 연결리스트 정의- 연결리스트는 데이터와 포인터를 가지고 있는 노드를 한 줄로 연결하여 데이터를 저장하는 자료구조- 포인터는 다음이나 이전의 노드와 연결을 담당- 연속된 메모리 구조가 아닌 파편화된 메모리에서 유용하게 사용- 접근 시간 복잡도: 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. [목차] 알고리즘 1. 알고리즘 개요1.1 알고리즘 정의1.2 시간복잡도와 공간복잡도: Ο-표기, Ω-표기, Θ-표기1.3 주요 함수2. 정렬2.1 삽입 정렬(Insertion Sort)2.2 선택 정렬(Selection Sort)2.3 버블 정렬(Bubble Sort)2.4 퀵 정렬(Quick Sort)2.5 병합 정렬(Merge Sort)2.6 계수 정렬(Counting Sort)2.7 기수 정렬(Radix Sort)2.8 힙 정렬(Heap Sort)3. 수학3.1 소수 판별: 에라토스테네스의 체3.2 최대공약수: 유클리드 호제법3.3 행렬 연산3.4 순열과 조합3.5 4. 동적계획법 5. 그리디 6. 시뮬레이션 7. 탐색5.1 선형 탐색(Linear Search)5.2 이분 탐색(Binary Search)5.3 BF.. 2024. 7. 19. [목차] 자료구조 1. 배열(Array)1.1 배열 정의1.2 배열 ADT1.3 프로그램 언어별 메서드2. 연결리스트(Linked List)2.1 연결리스트 정의2.2 연결리스트 종류: Singly Linked List, Doubly Linked List2.3 연결리스트 ADT2.4 연결리스트 구현2.5 프로그램 언어별 메서드3. 스택(Stack)3.1 스택 정의3.2 스택 ADT3.3 스택 구현3.4 프로그램 언어별 메서드4. 큐(Queue)4.1 큐 정의4.2 큐 ADT4.3 큐 구현4.4 프로그램 언어별 메서드5. 덱(Deque)5.1 덱 정의5.2 덱 ADT5.3 덱 구현5.4 프로그램 언어별 메서드6. 해시(Hash)6.1 해시 정의6.2 해시 ADT6.3 해시 구현6.4 프로그램 언어별 메서드7. 트리(Tree.. 2024. 7. 19. 이전 1 다음 반응형