알고리즘

알고리즘

댓글 알고리즘 - 중첩집합(3)

지난번 포스팅에서는 중첩 집합 방식 알고리즘을 적용한 댓글 구조에서 답글을 어떤 식으로 삭제하는지 알아봤습니다. 중첩 집합 방식에 대한 설명(삭제) - [Algorithm] 중첩 집합(2) 댓글 알고리즘 - 중첩집합(2) 지난번 포스팅에서는 기본적으로 중첩 집합 방식 알고리즘이 어떤 식으로 작동하는지에 대해 알아봤습니다. 중첩 집합 방식에 대한 설명 - [Algorithm] 중첩 집합(1) 이번 포스팅에서는 중첩 집합 goodbyeanma.tistory.com 이번 포스팅에서는 새로운 답변을 생성하는 경우 어떠한 구조로 로직을 생성해야 하는지 알아보겠습니다. 예를 들어 #2에 대한 새로운 답변(#32)을 추가해봅시다. 그럼 위 그림과 같은 트리 형식이 될 것입니다. 일단 새로운 답글 #32은 #2의 자식..

알고리즘

댓글 알고리즘 - 중첩집합(2)

지난번 포스팅에서는 기본적으로 중첩 집합 방식 알고리즘이 어떤 식으로 작동하는지에 대해 알아봤습니다. 중첩 집합 방식에 대한 설명 - [Algorithm] 중첩 집합(1) 댓글 알고리즘 - 중첩집합(1) 지난번 포스팅에서는 경로 열거 방식 알고리즘을 적용해서 댓글을 구현해 봤습니다. 경로 열거 방식이 궁금하다면 - [Algorithm] 경로 열거 방식 경로 열거 방식에서는 경로 값의 무결성과 정합성 goodbyeanma.tistory.com 이번 포스팅에서는 중첩 집합 알고리즘을 통해 구현한 댓글에서 하나의 댓글이 지워지는 로직을 어떤 방법으로 구현할 것인지 생각해보고 그로 인해 생기는 문제점은 없는지 알아보겠습니다. 만약 위의 구조에서 #6의 댓글을 지우려면 아래와 같이 쿼리를 날리면 됩니다. BEGI..

알고리즘

댓글 알고리즘 - 중첩집합(1)

지난번 포스팅에서는 경로 열거 방식 알고리즘을 적용해서 댓글을 구현해 봤습니다. 경로 열거 방식이 궁금하다면 - [Algorithm] 경로 열거 방식 댓글 알고리즘 - 경로열거(Path Enumeration) 지난번 포스팅에서는 "인접 목록 방식" 알고리즘을 적용해서 댓글을 구현해 봤습니다. 인접 목록 방식이 궁금하다면 - [Algorithm] 인접 목록 방식 인접 목록의 약점 중 하나는 트리에서 주어진 노 goodbyeanma.tistory.com 경로 열거 방식에서는 경로 값의 무결성과 정합성을 보장할 수 없다는 점과, 결국 문자열로 경로를 저장하기 때문에 경로의 깊이 자체에도 한계가 있다는 단점이 있었습니다. 중첩 집합은 각 노드가 자신의 부모를 저장하는 대신 자기 자손에 집합에 대한 정보를 저장합..

알고리즘

댓글 알고리즘 - 경로열거(Path Enumeration)

지난번 포스팅에서는 "인접 목록 방식" 알고리즘을 적용해서 댓글을 구현해 봤습니다. 인접 목록 방식이 궁금하다면 - [Algorithm] 인접 목록 방식 인접 목록의 약점 중 하나는 트리에서 주어진 노드의 조상들을 얻는 데 비용이 많이 든다는 것입니다. 경로 열거 방법에서는 일련의 조상을 각 노드의 속성으로 저장해 이를 해결합니다. 디렉터리 구조와 비슷한데 /user/local/test/ 와 같은 unix 경로와 비슷하다고 생각하면 됩니다. CREATE TABLE dbo.COMMENT_TEST_PATH ( comment_idbigint not null, pathvarchar(1000) null,-- 경로를 저장해줄것 commentnvarchar(500) not null, comment_datedateti..

알고리즘

댓글 알고리즘 - 인접목록방식

기본적인 댓글 알고리즘에 대해서 살펴보겠습니다 :) 첫 번째로 댓글을 구현하는데 가장 많이 사용하는 방법은 "인접 목록 방식"입니다. 댓글의 아이디를 참조하는 parent_id 칼럼을 추가하는 방식으로써 하나의 테이블만으로 댓글 기능을 구현합니다. 이해를 위하여 아래의 테이블을 예시로 들겠습니다. CREATE TABLE dbo.COMMENT_TEST ( comment_idbigint not null,-- 댓글 아이디(pk) parent_idbigint null,-- 부모 아이디 commentnvarchar(500) not null, -- 댓글 내용 comment_datedatetime not null,-- 작성 일자 authorvarchar(20) not null-- 작성한 사람 ) ALTER TABLE..

ssh9308
'알고리즘' 카테고리의 글 목록