데이터 구조와 알고리즘 - 1

강남준·2023년 3월 28일
0
post-thumbnail

기본적인 데이터 구조

인접 데이터 구조

인접 데이터 구조는 선형 데이터 구조를 이루며 일정한 순서에 따라 개별 데이터 요소에 접근할 수 있는 인덱스 기반의 데이터 구조이다.
데이터를 메모리 영역 중 인접한 부분에 저장한다. (배열, 힙, 매트릭스, 해시 테이블)

배열 : 가장 널리 사용되는 데이터 구조 or 선형 혹은 일차원 배열

var myIntArray : Array<Int> = [1,3,5,7,9] // 기본형
var myIntArray : [Int] = [] // 축약형
var my2DArray : [[1,2],[2,3],[3,4]] // 2차원 이상의 다중배열
var subArray = myIntArray[2...4] // 범위 요소 가져오기
var element = my2DArray[2][1] // **4 특정 요소 가져오기

myIntArray.append(11) // 끝부분 추가
myIntArray.insert(4, at : 2) // [1,3,4,5,7,9] 특정 위치 삽입

myIntArray.removeLast() // 맨 끝 삭제
myIntArray.remove(at : 3) // [1,3,5,9]

연결 데이터 구조

연결 데이터 구조는 데이터 타입과 이를 다른 데이터와 묶어주는 포인터(메모리상의 위치 주소)로 구성된다.
서로 명확히 구분되는 메모리 영역을 차지하되, 포인터라는 주소 체계로 연결, 관리되는 구조이다. (목록, 트리, 그래프)

연결 리스트

단일 vs 이중

class LinkedList<T> {
	var item: T?
    var next: LinkedList<T>?
}
profile
안녕하세요:)

0개의 댓글