728x90 반응형 전체 글43 원형 연결 리스트의 일반 구현 1 원 연결 리스트의 생성 앞서 데이터를 5개로 제한된 리스트로 구현했지만 데이터 개수가 제한적이지 않을 때가 일반적이다. 생성되는 모든 노드를 메모리에 넣는다. 메모리 크기는 무한대고 위치나 순서는 상관없이 링크로 연결된다. 헤드(head)는 첫 번째 노드, 현재(current)는 지금 처리 중인 노드, 이전(pre)은 현재 처리 중인 노드의 바로 앞 노드이다. 사용자가 키보드로 입력하거나 데이터 저장소에서 데이터를 가져와서 대입한다. 첫 번째 노드는 자신을 가리키는 형태가 된다. 그리고 완성된 노드를 메모리에 넣는다. ## 원형 연결 리스트 생성 ## ## 클래스와 함수 선언 부분 ## class Node(): def __init__(self): self.data = None self.link = N.. 2022. 10. 18. 원형 연결 리스트의 기본과 간단 구현 1 원형 연결 리스트의 개념 원형 연결 리스트는 단순 연결 리스트와 구조나 코드가 상당히 유사하다. 원형 연결 리스트(Circular Linked List)는 단순 연결 리스트의 마지막 노드가 다시 첫 번째 노드를 가리키게 설정한다. 그러면 리스트의 형태가 원(Circle) 형태로 구성되어 계속 회전하면서 연속 방문이 가능하다. 원형 리스트의 장점은 단순 연결 리스트와 마찬가지로 오버헤드가 발생하지 않는다. 2 원형 연결 리스트의 원리 원형 연결 리스트의 원리도 단순 연결 리스트와 많은 부분 비슷하다. 원형 연결 리스트를 단순 연결 리스트와 같이 구현하려면 '노드'를 사용해야 한다. 단순 연결 리스트 노드와의 차이점은 노드의 마지막 링크가 첫 번째 노드와 연결되어있다는 것이다. 원형 연결 리스트의 노드 .. 2022. 10. 18. 연습문제와 응용예제 1 연습문제 ** 문제는 처음에 언급한 책에 나와있습니다 ** 답 : 1. (1)선형 리스트 (2) 단순 연결 리스트 2. 3번 3. (a) 데이터 (b) 링크 4. 3번 5. (b) - (a) - (c) 6. 4번 7. (1) node.data (2) node.link (3) node 8. 2번 2 응용예제 01 사용자가 이름과 이메일을 입력하면 이메일 순서대로 단순 연결 리스트를 생성하는 프로그램 ## 클래스와 함수 선언 부분 ## class Node(): def __init__(self): self.data = None self.link = None def printNodes(start): current = start if current == None: return print(current.data.. 2022. 10. 13. 단순 연결 리스트의 일반 구현과 응용 1 단순 연결 리스트의 생성 단순 연결 리스트의 간단 구현에선 데이터를 5개로 제한했지만 데이터 개수가 제한적이지 않을 때가 일반적이다. 사용자가 입력하거나 배열에서 데이터를 추출한 후 값을 계속 단순 연결 리스트로 만드는 코드를 작성한다. 그러려면 첫 번째 데이터는 빈 노드를 생성하고 사용자가 키보드로 첫 번째 데이터를 입력하거나 데이터 저장소에서 데이터를 가져와서 대입해야 한다. 두 번째 이후 데이터는 새 노드를 기존 노드의 링크에 저장하기 전에 기존 노드를 잠시 저장한 후 생성해야 한다. 변수 이름을 여러 개 사용하지 않아도 되며, 모든 노드는 head를 시작으로 연결된다. ## 클래스와 함수 선언 부분 ## class Node() : def __init__ (self) : self.data = N.. 2022. 10. 13. 화일의 구조 정보화 사회에서 가장 중요한 자원은 정보(information)이고, 이 정보의 기본이 되는 것이 바로 데이터(data)이다. 데이터를 처리해서 얻은 결과를 말하고, 이 정보를 얻기 위해 데이터를 처리하는 시스템을 정보 시스템(information system)이라 한다. 공식으로 표현할 수도 있다. I = P(D) 일반적으로 프로그램에 의해 처리될 데이터는 메인 메모리가 아닌 디스크에 들어있다. 메인 메모리는 소멸성이며, 용량이 적고 접근 속도가 빠른 반면 디스크는 비 소멸성이며, 용량이 크고 접근 속도가 메인 메모리에 비해 아주 느리다. 컴퓨터는 디스크에 저장된 데이터를 직접 처리하지 못하고 반드시 메인 메모리에 가져와서 처리해야만 된다. 이런 특성 때문에 어떻게 데이터를 저장하고 효율적으로 전송하느.. 2022. 10. 12. 단순 연결 리스트의 개념과 간단구현 1 단순 연결 리스트의 개념 저번에 배운 선형 리스트는 배열에 데이터를 차례대로 저장하므로 데이터의 실제 위치 순서로 구성된다. 반면에 단순 연결 리스트(Singly Linked List)는 저장된 노드들이 물리적으로 떨어진 곳에 위치하게 된다, 각 노드의 번지도 순차적이지 않다. 하지만 연결(Link)을 따라가 보면 순서대로 노드를 계속 가리키게 된다. 선형리스트는 배열에 구성했기에 단순하고, 물리적인 순서와 논리적인 순서가 동일하여 데이터를 찾기 간편하다. 하지만 데이터를 삽입하거나 삭제하기는 많은 작업이 필요하다(Overhead 가 발생하기 쉽다). 단순 연결 리스트에선 이런 단점을 보안해 데이터를 삽입하거나 삭제하는 과정이 비교적 간단하다(Overhead 가 거의 발생하지 않는다). 2 단순 연결.. 2022. 10. 8. 이전 1 ··· 3 4 5 6 7 8 다음 728x90 반응형