본문 바로가기

자료구조

(14)
[자료구조] 배열의 특징, 한계 배열(Array)과 리스트(ArrayList, LinkedList)는 데이터 구조에서 매우 중요한 역할을 한다.각각의 데이터 구조는 메모리 관리 방식과 시간 복잡도가 다르기 때문에, 적절한 상황에 맞게 선택하는 것이 중요하다.배열의 메모리 관리와 주소 참조, 그리고 ArrayList와 LinkedList의 개념, 각 연산의 시간 복잡도, 장단점에 대해 설명하겠다.먼저 자료 구조의 가장 기본이 되는 배열의 특징을 알아보자. 배열(Array) 배열은 같은 타입의 데이터가 연속적인 메모리 공간에 저장되는 자료 구조이다.각 요소는 인덱스를 사용해 빠르게 접근할 수 있으며, 고정된 크기를 가지는 데이터 구조이다. 배열의 특징1 - 배열과 인덱스 1. 연속된 메모리 공간 할당 배열은 메모리에서 연속된 공간을 할당받..
[자료구조] 시간복잡도와 공간복잡도 시간복잡도개념시간 복잡도는 알고리즘이 실행되는 시간이 입력 크기에 따라 어떻게 변하는지를 나타낸다.일반적으로 입력의 크기(n) 에 대한 함수로 표현되며, 가장 널리 사용되는 표기법은 빅오 표기법(Big-O Notation)이다.시간 복잡도는 최악의 경우를 기준으로 측정하며, 알고리즘의 성능을 비교할 때 중요한 지표이다.우리는 변수와 배열을 사용해서 각각에 맞는 알고리즘으로 해결할 수 있다는 걸 알고있다.  평균을 구하는 문제 예시)변수는 변수에 맞는, 배열은 배열에 맞는 알고리즘을 이용.같은 자료구조를 쓰더라도 알고리즘을 여러가지가 될 수 있음.1. 배열의 모든 숫자를 더하고 원소의 개수만큼 나눠라.2. 배열의 첫 번째 원소와 두 번째 원소, 세 번째 원소를 더하고 3을 나눠라. 더 좋은 알고리즘은 사용..
[자료구조] 비트(Bit), 바이트(byte), 자료형의 종류 비트먼저 메모리 단위를 알아보자.컴퓨터가 조작하는 정보의 가장 작은 처리 단위를 비트(Bit)라고 한다. - (0과 1)의 집합으로 구성된 기본 단위. 보통 정보표현의 최소단위라고 표현을 한다. 사용자가 작성하고 실행하는 모든 프로그램들은 보조기억장치인 하드디스크에 저장을 하게 된다. 실행 명령을 내리게 되면 하드디스크 즉, 보조기억 장치에 있던 프로그램 코드를 주기억 장치에 적재시켜 하나하나 순차적으로 실행시켜 결과를 보여준다. 이때 사용하는 주기억장치를  RAM이라고 부른다. 전원이 꺼지면 기억된 내용이 지워져서 휘발성 메모리라고도 한다.  주기억 장치주기억 장치는 RAM(Random Access Memory)으로, CPU가 즉시 액세스해야 하는 프로그램 코드와 데이터를 저장한다.RAM은 휘발성 메모..
[자료구조] 자료구조와 알고리즘이란? 자료구조데이터가 어떤 구조로 저장되고 어떻게 사용되는지를 나타내는 것데이터를 저장하고 관리하는 방식 예시)변수배열데이터: 'A'데이터: 15데이터: "hp"알고리즘어떤 문제를 해결하기 위한 확실한 방법 예시)평균을 구하는 문제알고리즘은 자료구조에 따라서 달라지기도 하고 같은 자료구조에 대해서도 여러가지 알고리즘이 있을 수 있다.따라서 프로그램을 작성할 때, 먼저 자료구조를 선택해 데이터를 어떻게 저장하고 사용할지 결정하고,이에 맞는 알고리즘을 통해 데이터를 가공하고 원하는 결과를 얻는 과정을 거쳐야 한다. 위에서도 말했듯이 배열이라는 자료구조에도 여러개의 알고리즘이 있을 수 있다.하지만 알고리즘을 동시에 사용할 수는 없기 때문에 둘 중에 더 좋은 알고리즘을 사용하는 것이 좋을 것이다. 예시)1. 배열의 ..