728x90
반응형

프론트엔드/CS 2

Observer Pettern vs Pub-Sub Pettern

옵저버패턴과 발행-구독 패턴의 가장 큰 차이점은 중간에 Message Broker 나 Event Bus가 존재하는지 여부입니다. 옵저버패턴은 옵저버와 Subject 가 서로를 인지하지만 발행-구독 패턴은 서로를 전혀 몰라도 상관 없습니다. 때문에 발행-구독 패턴이 결합도가 더 낮습니다. 옵저버 패턴은 동기방식으로 주로 동작하고 발행-구독 패턴은 비동기 방식으로 동작합니다.

프론트엔드/CS 2021.12.14

단방향 연결리스트 - 선형구조

연결리스트는 배열과 많이 비교되고는 합니다. 배열은 연속된 데이터의 나열입니다. 메모리상에 0 번부터 n 번까지 순차적으로 값이 할당되어 있으며 접근시 O(1) 의 시간복잡도를 가집니다. 단점으로는 값을 추가하거나 제거할때 추가한만큼 추가한 값 이후 또는 이전의 값이 순회하면서 순차적으로 밀려나야 하기때문에 O(n) 의 시간 복잡도를 갖습니다. 이와 반대로 단방향 연결리스트는 연속될수도 아닐수도 있습니다. 각 데이터들은 노드라고 부르며 이 노드들은 각자 다음 노드를 가르키고 있습니다. 때문에 연결리스트에서는 다음값을 알기위해서는 처음부터 순차적으로 접근해야합니다. 이때 단방향이라고 부르는 이유는 이전노드가 다음 노드의 메모리정보만 갖고있기때문입니다. 단방향이 있으니 양방향 연결리스트도 있습니다. 이때 노..

프론트엔드/CS 2021.11.12
728x90
반응형