CS/자료구조 5

자료구조 기초 - 그래프

그래프그래프는 노드 사이의 연결을 보여준다. 컴퓨터 네트워킹이랑 여러 컴퓨터를 연결하는 것이다. 그래프는 컴퓨터(객체) 사이의 관계를 시각적으로 확인할 수 있는 주요 수단이다. 수학에서 파생된 그래프 이론은 컴퓨터 과학의 많은 응용 분야에 적용되고 있다.그래프는 기본적으로 다수의 원이 다수의 선으로 연결된 형태이므로 객체 사이의 관계를 볼 수 있다는 점에서 편리하다.많은 탐색 기반 알고리즘이 그래프에 의존한다. SNS를 설계할때도 그래프를 변형하여 사용한다.그래프 데이터베이스는 테이블로 연결되는 것이 아닌 데이터 중심으로 직접 연결되는 구성이므로 관계형 데이터베이스 관리 시스템(RDBMS)의 문제점을 개선하기 위해 사용될 수 있다. 구조화된 트리와 달리 그래프는 현실 세계에 존재하는 연결 관계를 더 잘 ..

CS/자료구조 2024.07.22

자료구조 기초 - 해시 데이터 구조

해시 어떤 길이의 임의 데이터를 고정 길이의 데이터로 매핑하는 것. 컴퓨터 보안 영역에서 주로 사용된다. 해시 함수 해시를 실행하려고 하나의 값을 다른 값으로 변환하는 함수. 해시 함수는 데이터를 입력하면 해시값을 출력한다. 해시 함수는 입력되는 데이터가 무엇이든 출력되는 해시값의 길이가 항상 고정되어 있다. 해시 충돌 서로 다른 입력 2개가 같은 해시값을 생성할 가능성도 조금 있다. 이때 해시 충돌이 발생한다. 해시 함수는 입력 데이터의 비트 하나만 달라져도 출력되는 해시값이 매우 많이 달라지므로 해시 충돌은 흔치 않다. 해시 함수가 잘 정의되었으면 내부 연산이 빠르고 충돌 발생이 적다. 해시 테이블 해싱(해시 테이블을 이용하는 탐색)할 때 사용하며, 키와 값으로 구성된 검색 시스템이다. 해시 테이블에..

CS/자료구조 2024.07.22

자료구조 기초 - 트리 데이터 구조

트리 트리 데이터 구조는 데이터를 계층으로 정렬한다. 루트 노드 나무의 뿌리(트리 구조에서는 맨 위)에 해당하며, 나머지 요소들은 루트 노드를 기준으로 구성된다.자식 노드(하위 노드) 루트 노드에서 멀어지는 방향으로 연결된 다른 노드 자식 노드는 하나의 부모 노드를 가진다.부모 노드(상위 노드) 루트 노드를 향한 방향으로 연결된 또 다른 노드 부모 노드는 여러 개의 자식 노드를 가진다.리프 노드(말단 노드) 더 이상 자식 노드를 갖지 않는 트리의 마지막 노드.엣지(간선) 노드를 연결하는 선서브 트리(하위 트리) 노드 하나와 그 자식 노드들로 구성된 트리순회(Traversal) 트리를 탐색하는 과정 노드에는 데이터를 저장하며 이때 저장된 데이터를 식별하는데 쓰이는 키와 저장된 데이터인 값을 포함할 수도 있..

CS/자료구조 2024.07.22

자료구조 기초 - 선형 데이터 구조

데이터 구조가 선형이라는 것은 데이터 구조를 구성하는 요소들이 서로 인접해 순차적인 방식으로 정렬되어 있음을 뜻한다. 배열과 리스트는 가장 일반적인 선형 데이터 구조다. 거의 모든 데이터 구조가 배열이나 리스트에서 파생되었거나 어떤 방식으로든 배열과 리스트를 사용하기 때문에 범용적이다. 배열 배열 내의 요소들은 순차적 또는 연속적으로 메모리에 정렬되어 있어 배열 요소들을 임의의 순서로 읽을 수 있다. 그러나 요소들의 순차적 구성 때문에 배열에서 데이터를 추가하거나 삭제할 때는 배열 내 다른 데이터의 순서를 다시 매겨야 하므로 처리하는데 많은 시간이 걸린다.  배열에 저장된 각각의 자료를 요소, 요소에 매겨진 숫자를 인덱스라고 한다. 요소들은 보통 쉼표로 구분한다. 1차원 배열 - 배열의 요소에 접근할 때..

CS/자료구조 2024.07.19

자료구조 기초 - 메모리

동양북스의 『코드 없는 알고리즘과 데이터 구조』를 읽고 정리한 내용입니다. 데이터 구조와 알고리즘은 서로 다른 개념이면서 상호 보완적이다. 데이터 구조는 알고리즘이 다루는 데이터를 구성하며, 알고리즘이 데이터를 처리하고 사용자가 원하는 완전한 정보를 산출하는 과저에서 필요한 부분을 제공한다. 컴퓨터 메모리컴퓨터가 처리 중이거나 처리를 끝낸 데이터를 저장할 수 있는 공간컴퓨터의 저장 공간 데이터 구조는 사용 가능한 자원을 효과적으로 관리하기 위해 존재하며 그 자원 중 하나가 메모리.컴퓨터 메모리는 피라미드 형태의 적층 구조다. 빠름 | 레지스터 ||| 캐시 메모리 |||   메인 메모리   |||    하드 디스크    | 느림 저장장치(SSD, HDD, 디스크 저장장치) - 저장되어 있는 데이터가 메인 ..

CS/자료구조 2024.07.18
반응형