본문 바로가기

linkedlist4

[자료구조, 알고리즘] 스택 - Array, Linked 기반 구현(설명, 구현 수정함) [Stack]1) 구현 기반만 다를 뿐 같은 스택을 구현하는 것이기 때문에 Stack 인터페이스 생성해두고 상속 - ArrayStack - LinkedListStack 2) 인터페이스 public interface Stack { public boolean isEmpty(); public void push(Object data); public Object pop(); public Object peek() throws Exception;} [도구가 되는 자료구조] (1) 배열 (2) 연결리스트 - 배열과 연결리스트는 자체만으로도 좋은 자료구조이지만 다른 자료구조를 구성하는데에 있어서 도구가 되는 자료구조 [Array Stack](1) 스택 생성 : N의 크기로 생성, 현재는 비어있음 N개가 그럼 그걸 체크하.. 2017. 9. 22.
[자료구조, 알고리즘] 리스트#4 - DoublyLinkedList [연결리스트]- 노드 간의 연결된 형태 : 실제로는 각각 따로 떨어져있음, 이어서 붙여놓음 [양방향 연결리스트 객체의 타입 설계]- 추가해! : 연결리스트에 데이터 노드를 추가(연결), 길이에 따라 다르게(0인 경우 1이상인 경우), 데이터를 받아서 데이터 노드에 넣기 - 첫번째로 가 : 현재 노드를 가장 첫번쨰 노드(헤드노드)로 - 다음번째로 가 : 현재 노드를 기준으로 다음노드로 이동 - 이전번째로 가 : 현재 노드를 기준으로 전 노드로 이동 - 삭제해 : 현재 선택된 노드를 삭제하는데, 선택된게 헤드인지, 중간인지, 마지막인지, 다음은 있는지 없는지 잘 따져서 노드 연결 끊이지않게 하기 - 선택된 노드를 줘 : 현재 선택되어진 노드를 리턴 - 개수 : 현재 양방향 연결리스트에 저장된 데이터가 몇개 .. 2017. 9. 15.
[자료구조, 알고리즘] 리스트#3 - js로 CircularLinkedList 구현, 자바로 생각해보기 [연결리스트]- 메모리 상에서는 떨어져있는 데이터 : 각각 연결하여 1열의 개념의 데이터 저장공간을 만듦- 핵심(1) node : 현재 데이터와 현재와 연결된 다음 데이터를 가리키는 주소를 함께 저장 - node -> data, next(2) node 간 어떻게 연결할 것인가, 연결되어져있는 node 탐색방법 - 연결 형태에 따라 단순/원형/양방향 연결리스트 나뉨 [원형 연결리스트]- 단순 연결리스트와 마찬가지로 단방향 : 역방향까지 지원하는 양방향 연결리스트는 다음 포스팅!- 처음 추가된 node와 마지막 node가 연결되어 원형을 띔 - 단순 연결리스트는 head -> tail node로 가기위해 tail에서 next node로 순차탐색=> 위의 그림처럼 head를 둬도 되지만, 원형 연결리스트의 특.. 2017. 9. 6.
[자료구조, 알고리즘] 리스트#2 - LinkedList 구현, syntax + develop tip [연결리스트 특징 및 구현할 때 생각해야할 것]- ArrayList는 배열(array)로 구현된 List, 연결리스트는 메모리에 동적으로 할당되는 데이터들을 하나의 리스트로 만듬- Node 인스턴스(object)를 동적으로 할당하되 하나의 리스트로 엮음 : LinkedList- 구현하면서 가장 중요하게 생각해야하는 것 : node간 연결방법, node를 순차적으로 탐색하는 방법 [자바스크립트로 LinkedList 구현하기(feat. 자바스크립트 프로토타입 기반 객체지향)]- node를 head로만 추가함=> head 와 tail 추가하는 방법을 구현하면됨=> 중간 node를 제어하는 방법도 생각해봅시다 : setRuleList 추가 - LinkedList 객체 : 추상화, private / public .. 2017. 9. 1.