별의 공부 블로그 🧑🏻‍💻

🗒️ 리스트 (10)

728x90
  1. 2022.04.21 [Python] 원형 연결 리스트(Circular Linked List)

    원형 연결 리스트(Circular Linked List) 원형 연결 리스트의 개념 단순 연결 리스트(Singly Linked List) 끝까지 방문한 후에는 더 이상 방문할 곳이 없어 종료되므로 다시 방문하려면 헤드(head)부터 재시작해야 한다. 원형 연결 리스트(Circular Linked List)는 단순 연결 리스트의 마지막 노드가 다시 첫 번째 노드를 가리키도록 설정되어 리스트 형태가 원(Circle) 형태로 구성된다. 시작 위치와 다음 위치가 계속 이어진 후, 마지막에 다시 시작 위치로 돌아오는 형태 원형 연결리스트는 단순 연결 리스트와 마찬가지로 데이터 삽입에서 오버헤드가 발생하지 않는다. 원형 연결 리스트의 원리 원형 연결 리스트의 원리 및 구조도 단순 연결 리스트와 많은 부분이 비슷하다...

  2. 2022.04.21 [Python] 단순 연결 리스트(Singly Linked List)

    단순 연결 리스트(Singly Linked List) 단순 연결 리스트의 개념 선형 리스트(Linear List) 장점 배열에 구성하였기 때문에 단순하다. 물리적인 순서와 논리적인 순서가 동일하여 데이터를 찾기 간단하다. 프로그램으로 구현하기 비교적 쉽다. 단점 : 데이터를 삽입하거나 삭제할 때 많은 작업이 필요하다. 예) 100만 개인 선형 리스트의 맨 앞에 데이터를 하나 삽입하려면 약 100만 개를 뒤로 이동시키는 작업을 해야 한다. (오버헤드(Overhead) 발생) 단순 연결 리스트(Singly Linked List) 선형 리스트(Linear List)와 달리, 저장된 노드들이 물리적으로 떨어진 곳에 위치한다. 각 노드의 번지도 100, 200, 130 등으로 순차적이지 않다. 데이터와 링크로 구..

  3. 2022.04.21 [Python] 선형 리스트(Linear List)

    선형 리스트(Linear List) 선형 리스트의 기본 개념 데이터를 일정한 순서로 나열한 구조 순차 리스트(Ordered List)라고도 한다. 입력 순서대로 저장하는 데이터에 해당한다. 선형 리스트는 다양한 방법으로 구현할 수 있지만, 가장 기본적인 방법은 배열 을 이용하는 것이다. 선형 리스트는 메모리에서도 차례로 저장된다. 원리 데이터 삽입 1단계 : 맨 끝에 빈칸을 확보한다. 2단계 : 삽입하고자 하는 공간에 빈칸이 없으므로, 삽입하고자 하는 공간 뒤에 있는 요소들을 한칸씩 뒤로 옮긴다. 3단계 : 빈자리에 요소를 삽입한다. 데이터 삭제 원하는 요소가 삭제된 후 빈칸을 그대로 두지 않고 뒤의 요소들을 앞으로 한칸씩 이동시킨다. 선형 리스트의 구현 사용자가 입력하는 데이터가 가변적으로 작동하는 범..

  4. 2022.04.02 [Python] 단순 연결 리스트(Singly Linked List) 프로그램

    단순 연결 리스트(Singly Linked List) 프로그램 # 단순 연결 리스트 프로그램 (삽입, 삭제, 검색) ## 클래스와 함수 선언 부분 ## class Node(): def __init__(self): self.data = None self.link = None def printNodes(start): current = start if current == None: return print(current.data, end = ' ') while current.link != None: current = current.link print(current.data, end = ' ') print() # 노드 삽입 함수 def insertNode(findData, insertData): global me..

  5. 2022.03.26 [Python] 다항식(Polynomial) 선형 리스트 표현과 계산 프로그램

    다항식(Polynomial) 선형 리스트 표현과 계산 프로그램 다항식(Polynomial) $P(x) = a + bx + cx^2 + dx^3 + \cdots + zx^n$ $n$ 차 다항식 $P(x)$ : 다항식(Polynomial) $a, b, c, d, \cdots, z$ : 계수(Coefficient) $x$의 $1, 2, \cdots, n$ : 지수(Exponent) 코드 방법 1 ## 함수 선언 부분 def printPoly(p_x): term = len(p_x) - 1 # 최고차항 숫자 = 배열 길이 - 1 polyStr = "P(x) = " for i in range(len(px)): coef = p_x[i] # 계수 if (coef >= 0): polyStr += "+" polyStr +..

  6. 2022.03.26 [Python] 선형 리스트(Linear List) 처리 프로그램

    선형 리스트(Linear List) 처리 프로그램 ## 함수 선언 부분 ## def add_data(friend): katok.append(None) kLen = len(katok) katok[kLen - 1] = friend # 선형 리스트에 데이터를 삽입하는 함수 def insert_data(position, friend): if position len(katok): print("데이터를 삽입할 범위를 벗어났습니다.") return katok.append(None) # 빈칸 추가 kLen = len(katok) # 배열의 현재 크기 for i in range(kLen - 1, position, -1): katok[i] = katok[i - 1] katok[i - 1] ..

  7. 2022.03.19 [Python] 튜플(Tuple)

    튜플(Tuple) 튜플(Tuple) 리스트와 사용법이 비슷하면서 약간 다르다. 리스트는 대괄호([ ])로 생성하지만, 튜플은 소괄호(( ))로 생성한다. 튜플은 값을 수정할 수 없으며, 읽기만 가능하기에 읽기 전용 자료를 저장할 때 사용한다. 튜플 생성과 삭제 튜플은 소괄호(( ))를 생략해도 된다. 단, 항목이 하나인 튜플을 만들 때는 뒤에 쉼표(,)를 붙여야 한다. 그렇지 않을 경우 일반 값이 생성된다. 예 : 간단한 튜플 만들기 tt1 = (10, 20, 30); tt1 tt2 = 10, 20, 30 ; tt2 tt3 = (10); tt3 tt4 = 10; tt4 tt5 = (10,); tt5 tt6 = 10,; tt6 더보기 (10, 20, 30) (10, 20, 30) 10 10 (10,) (1..

  8. 2022.03.19 [Python] 문자열

    문자열 문자열 문자를 연속해서 저장해 놓은 형식 파이썬에서는 문자열을 큰따옴표(" ")나 작은따옴표(' ')로 묶어서 표현한다. 문자열은 한번 데이터를 저장해 놓으면 변경할 수 없는 불변형 데이터 형식이다. 문자열 기본 리스트에 접근하는 것과 문자열에 접근하는 것은 크게 다르지 않다. 리스트는 대괄호([ ])로 묶고, 문자열은 작은따옴표(' ')로 묶어 출력된다는 것만 다르다. 예 : 문자열 출력 ss = "자료구조&알고리즘" ss[0] ss[1:4] ss[4:] 더보기 '자' '료구조' '&알고리즘' 문자열도 리스트와 마찬가지로 더하기(+) 기호를 사용하여 연결한다. 또한, 곱하기(*) 기호를 사용하여 문자열을 반복할 수도 있다. 예 : 문자열 연결 및 반복 ss = "가나" + "다라" ss ss =..

  9. 2022.03.19 [Python] 리스트(List)

    리스트(List) 리스트(List) 하나씩 사용하던 변수를 한 줄로 붙여 놓은 것 다른 프로그래밍 언어의 배열(Array)과 비슷한 개념이다. 리스트 생성과 사용법 1차원 리스트 리스트이름 = [값1, 값2, 값3, ...] 리스트는 대괄호([ ]) 안에 값을 선언한다. 리스트는 첨자를 사용하여 접근한다. 예) aa[0] : 리스트의 첫번째 요소에 접근 예 : 1차원 리스트 생성하기 aa = [10, 20, 30, 40] aa 더보기 [10, 20, 30, 40] 2차원 리스트 리스트이름 = [[값1, 값2, 값3, ...], [값1, 값2, 값3, ...], ...] 첨자를 2개 사용하여 각 항목에 접근한다. 예) aa[0][1] 예 : 2차원 리스트 생성하기 list1 = [] list2 = [] v..

  10. 2021.04.03 [코틀린] 불변형(Immutable) List를 가변형(Mutable)으로 변환하기

    - List의 toMutableList() 메서드를 사용하여 불변형(Immutable) List를 가변형(Mutable)으로 변환할 수 있음. (가변형 List를 불변형 List로 변환하는 메서드는 존재하지 않음.) 1 2 3 4 5 6 fun main() { val names: List = listOf("one", "two", "three") // 불변형 List 초기화 val mutableNames = names.toMutableList() // 새로운 가변형 List가 만들어짐. mutableNames.add("four") // 가변형 List에 하나의 요소 추가 println(mutableNames) } [one, two, three, four]

728x90


📖 Contents 📖