IT 개발 관련/[TIL]

[항해99 취업 리부트 코스 학습일지] 3주차 알고리즘 학습 Day 4

Baileyton 2024. 6. 8. 21:08
728x90

Q. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?

그래프란 ?

그래프는 정점(Node)과 간선(Edge)으로 구성된 자료구조입니다. 정점은 객체를 나타내고, 간선은 정점 간의 관계를 나타냅니다. 예를 들어, 친구 관계를 나타내는 소셜 네트워크에서 사람들을 정점으로, 친구 관계를 간선으로 표현할 수 있습니다.

 

그래프는 다양한 실제 문제를 모델링하는 데 유용한 자료구조입니다. 예를 들어, 도시 간의 도로 네트워크, 컴퓨터 네트워크, 소셜 네트워크 등이 있습니다.

 

정점 (Node)

정점은 그래프의 기본 단위로, 개체나 객체를 나타냅니다. 예를 들어, 도시, 사람, 웹 페이지 등을 나타낼 수 있습니다.

간선 (Edge)

간선은 정점 간의 연결을 나타내며, 정점들 간의 관계를 정의합니다. 예를 들어, 도로, 친구 관계, 링크 등을 나타낼 수 있습니다.

방향 그래프와 무방향 그래프

그래프는 간선의 방향성에 따라 두 가지로 분류됩니다:

방향 그래프 (Directed Graph)

간선이 한쪽 방향으로만 연결된 그래프입니다. 즉, 정점 A와 B가 연결되어 있으면 A에서 B로는 이동할 수 있지만, B에서 A로는 이동할 수 없습니다.

무방향 그래프 (Undirected Graph)

간선이 양방향으로 연결된 그래프입니다. 즉, 정점 A와 B가 연결되어 있으면 A에서 B로, B에서 A로 이동할 수 있습니다.

가중치 그래프 (Weighted Graph)

가중치 그래프는 간선에 가중치가 부여된 그래프입니다. 예를 들어, 도로의 길이, 통화 요금 등을 나타낼 수 있습니다.

그래프의 표현 방법

그래프를 표현하는 두 가지 주요 방법은 인접 행렬과 인접 리스트입니다.

인접 행렬 (Adjacency Matrix)

그래프를 2차원 배열로 표현합니다. 정점 간의 연결 여부를 행렬로 나타냅니다.

 

특징:

  • 정방 행렬을 사용하여 정점 간의 간선 유무를 1과 0으로 표시
  • 메모리 사용이 많음 (N x N 행렬, N은 정점의 수)
  • 간선의 존재 여부를 빠르게 확인 가능

인접 리스트 (Adjacency List)

그래프를 리스트의 리스트로 표현합니다. 각 정점에 연결된 정점들의 리스트를 저장합니다.

  • 특징:
    • 연결 리스트를 사용하여 간선 정보를 저장
    • 메모리 사용이 적음 (간선의 수가 적은 경우 유리)
    • 동적 그래프에 적합 (정점이나 간선의 추가/삭제가 빈번한 경우)

Q. 이번 주 진행된 팀 스터디에서 얻은 인사이트는 무엇인가요?

팀원들의 다양한 풀이 방법을 접하면서 새로운 해결책을 배울 수 있었고, 문제 해결 능력을 향상시키는 데 도움이 되었고, 덕분에 문제를 보는 시야가 넓어졌다.

 

 

 

항해99 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.

https://hanghae99.spartacodingclub.kr/reboot

 

IT 커리어 성장 코스 항해99, 개발자 취업부터 현직자 코스까지

항해99는 실무에 집중합니다. 최단기간에 개발자로 취업하고, 현직자 코스로 폭발 성장을 이어가세요. 실전 프로젝트, 포트폴리오 멘토링, 모의 면접까지.

hanghae99.spartacodingclub.kr

 

728x90