본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

IT기술/자료구조16

자료구조 - 리스트(list) List는 데이터가 순서대로 저장되며, 중복 데이터 저장을 허용한다. 이는 배열과 매우 비슷하다. 배열은 데이터가 저장된 인덱스, 주소가 중요하며 인덱스, 주소를 가지고 해당 위치로 바로 찾아가 데이터를 볼 수 있다. 그러나 리스트는 인덱스 보다 순서를 더 중요시한다. 차이점을 예시로 들어보면 다음과 같다. ------------------------------------------------------------------------------------------------------------------ 데이터가 [10, 20, 30, 40] 일 경우 배열에서 50을 추가한다면, a[3] = 50 으로 해당 위치에서 값을 덮어쓰거나, a[4] = 50을 추가해야 한다.. 그러나 리스트는 40의 값을.. 2022. 9. 12.
자료구조 - 배열(Array) 배열이란? 여러 데이터를 하나의 이름으로 그룹핑해서 관리하기 위한 자료구조이다. 같은 타입의 데이터를 여러개 나열한 선형 자료구조로 사용된다. a[0] a[1], a[2] ..... b[0] b[1], b[2]..... C언어에선 포인터 개념으로 배열을 선언하고 안에 데이터를 넣어 저장하는 식이다. 자바에서는 다음처럼 사용한다. int[] number1 = new int[5]; 선언할 자료형에 대괄호 []를 붙여 선언함, new 다음엔 자료형 뒤에 배열의 크기를 지정하여 배열 생성 동적으로 배열의 크기를 늘려야 할 경우 List를 사용하는게 좋다. 2022. 9. 12.
자료구조의 특징 -효율성 -추상화 -재사용성 1. 효율성 자료구조를 사용하는 목적은 효율적인 데이터의 관리 및 사용에 있다. 따라서 적절한 자료구조를 선택하여 사용한다면 효율성이 올라간다. 한가지 예를 들어보자면 검색에 대한 알고리즘을 구현할때, 데이터의 양이 많다면 순차 검색(Linear Search)를 사용하는 것 보다 이분 검색(Binary Search)를 활용하는것이 더 효율 적이다. 왜냐하면 학생이라는 테이블에 학생에 대한 데이터가 100만개 있다고 할때, 순차 검색으로 데이터를 검색하게 되면 운이 좋을때는 1번의 연산으로 찾을 수 있겠지만, 운이 없을경우에는 100만번의 연산을 거쳐야 한다. 이에 반해 이분 검색은 연산의 횟수가 훨씬 줄어들죠. 이와같이 목적에 맞는 자료구조를 사용하는것이 효율적이다. 2. 추.. 2022. 9. 12.
자료구조란? 대학생때 자료구조에 대해 간단하게 배웠는데, 지금와서 보니 코딩테스트를 위해 여러 항목이 추가되며 개선되었다. 때문에 새로이 공부할 필요가 있어 정리하려한다. 자료 구조(data structure) 자료(Data)의 집합의 의미하며, 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것 이다. 배열, 리스트, 트리, 그래프, 스택, 큐 같은 것들이 자료 구조의 대표적인 예시들이다. 데이터를 가공하고 활용하는 것의 중요성이 늘어나고 있다보니 자료를 더 효율적으로 저장하고, 관리하기 위해 사용하며, 잘 선택된 자료구조는 실행시간을 단축시켜주거나 메모리 용량의 절약을 이끌어 낼 수 있다. 자료구조의 선택 기준 - 자료의 처리 시간 - 자.. 2022. 9. 12.