본문 바로가기
반응형

배열3

1. 배열 (Array) 배열이란? 배열은 선형 자료 구조의 대표적인 형태이다. 프로그래밍을 접해본 사람이면 누구나 배열의 존재를 알고있을 것이다. 동일한 타입의 데이터를 연속적인 메모리 공간에 저장하는 자료 구조이다. 배열의 장점 간단한 구조로 이루어져 빠른 접근이 가능하고, 연속적인 메모리 할당으로 캐시 적중률이 높아져 메모리 기대 성능이 좋다. 인덱스로 바로 직접 접근이 가능하기 때문에 접근하는 시간은 O(1) 상수시간으로, 인덱스를 알고 있다면 중간과정 없이 즉시 값을 꺼낼 수 있다. 또한, 우리가 생각하는 배열의 모양과 같이 실제 메모리 상에서도 연속적인 주소로 이루어져 있어 캐시 적중률이 높아 타 자료 구조에 비해 빠른 속도를 자랑한다. 배열의 단점 장점을 모두 잊게 만드는 치명적인 단점은, 생성 시 크기가 고정된다는.. 2024. 6. 27.
0. 자료구조란? 자료구조? 자료구조(Data Structure)는 데이터를 효율적으로 관리할 수 있도록 만든 데이터의 구조를 말한다. 데이터의 효율적인 접근과 변경을 위한 방법이기 때문에 알고리즘을 배우기 전에 무조건적으로 선행하여 학습해야하는 컴퓨터 과학 학문이다. 메모리는 1차원 구조이기 때문에, 세상 속에 존재하는 다차원 구조의 데이터를 메모리에 맞게 1차원으로 표현하는 방법을 학습한다.  데이터의 저장과 접근을 효율적으로 하기 위해서 자료구조는 매우 중요하다. 적절한 구조를 사용하면 알고리즘의 성능을 크게 향상시킬 수 있으며, 잘못된 구조를 선택하면 프로그램의 성능이 저하될 수 있다. 따라서 자료구조를 깊이 이해하고 상황에 맞게 활용하는 능력은 모든 소프트웨어 개발자에게 필수적이다. 예를 들어, 데이터 검색이 빈.. 2024. 6. 26.
[C] 배열 기반 스택 (array stack) 배열로 만든 스택은 연결리스트에 비해 매우 간단해서 좋다. 그래서 빠르게 코딩을 해야할 때 자주 사용한다. 하지만 C++에는 stack 헤더가 있다. 배열로 구현할 때의 장점은 연결리스트에 비해 메모리를 아낄 수 있다는 점, 그리고 구조가 간단하다..! 제한을 걸어놓은 과제나 문제를 풀 때 용이하다. 단점은 크기가 제한되어 있다는 것. 하지만 realloc이 있다면? 연결리스트로 구현했던 코드와 다른 점은 실행하고 명령어 입력 전에 스택의 크기를 먼저 입력한다. 명령어 push N -> 정수 N을 push한다 pop -> 스택을 pop하고 그 값을 출력한다. 스택이 비어있으면 Stack Empty 출력 size -> 스택의 크기를 출력한다. top -> top에 위치한 값을 출력한다. 스택이 비어있으면 .. 2018. 7. 10.
반응형