TIL(20.03.20) DataStructure 연결리스트

이민택·2020년 3월 20일
0

TIL

목록 보기
27/44

Linked List ( 연결 리스트 )

연결리스트는 데이터를 저장하는 자료 구조 중에 하나로써 연결리스트는 아래의 구성 요소를 가지고 있다

  • 노드
  • 데이터
  • 포인터 ( 다음 노드를 가리키는 속성 )

각각의 노드는 데이터와 포인터를 가지고 있다 기본적인 연결리스트에서 노드의 포인터는 다음 노드를 가리키고 이런 방식으로 처음 노드 부터 마지막 노드 까지 연결되어 있다

이 구조를 그림으로 그려 보면 아래와 같다

Linked List(연결리스트) 의 메소드

1. insert_first

연결 리스트의 처음 부분의 삽입하는 연산이다

    // 의사 코드
    function insert_first(head,newNode){
    	//newNode의 포인터를 head의 포인터가 가지고 있는 값을 할당
    	//head의 포인터에 newNode를 할당
    	//return head
    }

2. insert

원하는 위치에 데이터를 삽입할 수 있는 함수

    // 의사 코드
    function insert(head,newNode,position){
    	//beforeNode = position이전 노드를 search함수를 이용해서 찾아낸다
    	//newNode의 포인터를 beforeNode의 포인터가 가지고 있는 값을 할당
    	//beforeNode의 포인터에 newNode를 할당
    	//return head
    }

데이터가 있는 위치를 탐색하는 함수

    // 의사 코드
    function search(head,data){
    	//tempPonint=head
    	//만약 data가 tempPoint가 가진 데이터와 같다면 return tempPoint
    	//아니면 tempPoint=tempPoint.tempPoint
    }

4. delete

원하는 위치의 데이터를 삭제하는 함수

    // 의사 코드
    function delete(head,data){
    	//데이터의 위치를 search함수를 이용해서 찾는다
    	//해당 위치의 이전 노드의 포인터에 제거 노드의 다음 노드를 할당한다 
    	//제거노드를 삭제한다
    }
profile
데이터에 소외된 계층을 위해 일을 하는 개발자를 꿈꾸는 학생입니다

0개의 댓글