[Swift] 그래프(Graph)
·
💻 CS/자료구조
이 글은 개인적인 공부를 위해 작성하는 것임을 밝힙니다. 자세한 내용은 https://babbab2.tistory.com/105 을 방문해주세요! 그래프 노드(정점)과 간선(브랜치)로 이루어진 자료구조 연결되어있는 원소간의 관계를 표현한 자료구조 실생활의 현상이나 사물을 그래프로 활용할 수 있음 알고 있어야 할 그래프 관련 용어 노드(정점) 컴퓨터 과학에 쓰이는 기초적인 단위 즉, 위의 그림에서는 동그라미 하나가 노드다. 그래프에서 노드는 대응하는 개체를 나타내는 정점이다. 간선(브랜치) 객체 사이를 잇는 연결 경우에 따라 노드 사이를 잇는 각 연결의 강도를 나타내는 가중치를 갖는다. 인접 정점 간선에 의해 직접 연결된 노드 위의 그래프 그림에서 1의 인접 정점은 5와 2, 6의 인접 정점은 4 참고로 ..
[Swift] 백준 11650 좌표 정렬하기
·
📝 코테/BOJ
import Foundation let N = Int(readLine()!)! var tuples = [(x: Int, y: Int)]() for _ in 1...N { let xy = readLine()!.components(separatedBy: " ").map { Int($0)! } let x = xy[0] let y = xy[1] tuples.append((x, y)) } tuples = tuples.sorted(by: { $0.y < $1.y }).sorted(by: { $0.x < $1.x }) for tuple in tuples { print(tuple.x, tuple.y) } 튜플로 풀었다. 정렬할때는 정렬하는 순서를 유의하는게 좋을 것 같다.
[Swift] 덱 구현해보기
·
💻 CS/자료구조
덱 스택과 큐의 특성을 모두 갖는, 둘을 조합한 형태의 자료구조 덱의 ADT(Abstract Data Type)를 구성하는 핵심 함수 네가지의 기능은 다음과 같다. - 앞으로 넣기 - 뒤로 넣기 - 앞에서 빼기 - 뒤에서 빼기 덱은 머리에서 추가와 삭제가 이뤄지는 것은 물론 꼬리에 위치한 노드에서 추가와 삭제가 이뤄진다는 점에서 양방향 연결리스트를 기반으로 덱을 구현하는 경우가 많고, 이는 덱 구현에 있어서 매우 좋은 선택이라 할 수 있다. 여기서 간단하게만 덱을 구현해보았다. class Deque{ var enQueue: [T] var deQueue: [T] = [] var count: Int { return enQueue.count + deQueue.count } var isEmpty: Bool { ..
JerryiOS
Jerry