Skip to content

first-woosun/TIL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TIL

  • 당일 학습한 내용을 정리합니다.

2023-03-27

  • git bash 설치
  • 기초 리눅스 명령어
  • vim 사용법

2023-03-28

  • commit
    • 개념
    • 커밋을 언제 만드는 지
    • 커밋 크기
  • 저장소
    • 개념
    • 일반 폴더와 저장소의 차이
    • 'git init' 명령어로 저장소 만들기

2023-03-29

  • 커밋 만들기
    • 'git commit -m'
  • 스테이징 영역
    • 'git add' 명령어로 커밋에 포함 시키고 싶은 파일만 스테이징 영역에 추가

2023-03-30

  • Data Structure (자료구조)
    • chapter.3 순차 자료구조와 선형 리스트

      • 순차 자료구조와 선형 리스트

        • 선형 순차 리스트
        • 선형 연결 리스트
        • 읽기, 쓰기, 순차 액세스 같은 연산에는 효율적이지만, 삽입, 삭제 연산이 많이 필요한 경우 비 효율적
      • 선형 리스트의 원소 삽입, 삭제

        • 삽입

          • 삽입하고자 하는 위치에 있는 원소를 뒤로 이동하여 공간 확보
          • 확보된 공간에 삽입하고자 하는 원소 삽입
          • 자리이동 횟수 : (n+1)개의 원소로 이뤄진 선형 리스트에서 k번 자리에 원소를 삽입하는 경우 -> (n-k+1)개의 원소를 이동 -> 마지막 원소의 인덱스 - 삽입할 자리의 인덱스 + 1
        • 삭제

          • 원소를 삭제하여 빈자리 만들기
          • 원소를 삭제하며 생기 빈자리의 뒤에 있는 원소들을 한자리씩 앞자리 이동
            • 자리 이동시 원소가 겹쳐서 덮어쓰기 되지 않도록, 앞으로부터 자리 이동
          • 자리 이동 횟수 : (n-(k+1)+1) -> n-k
            • 마지막 원소의 인덱스 - 삭제한 원소의 인덱스
      • 선형 리스트의 응용

        • 행렬
          • 행(m)과 열(n)로 구성된 자료구조 -> m * n 행렬

          • 정방 행렬 : m == n

          • 전치 행렬 : m과 n을 서로 바꿔 구성한 행렬

          • 희소 행렬 : 실제로 사용하지 않는 공간이 많아 공간의 활용도가 떯어지는 행렬

            • 희소 행렬에 대한 2차원 배열 표현
                1. 0이 아닌 원소만 추출하여 <행번호, 열번호, 원소>쌍으로 배열에 저장
                1. 추출한 순서쌍을 2차원 배열에 행으로 저장
                1. 원래의 행렬에 대한 정보를 순서쌍으로 작성하여 0번 행에 저장
              • 기억공만을 좀 더 효율적으로 사용하기 위해 희소행렬을 2차원 배열로 구성하는 방법
          • 다항식의 선형 리스트 표현

            • 각 항에 계수, 변수, 지수로 구성된 항들로 구성된 식

              • 계수 -> coefficient
              • 변수 -> variable
              • 지수 -> exponent
            • 다항식의 특징

              • 지수가 높은 항부터 내림차순으로 나열
              • 다항식의 차수 -> 가장 큰 지수
              • 다항식 항의 최대 개수 -> (차수 + 1)개
            • 4x^3 + 3x^2 + 2의 선형 리스트 표현

              • ((3, 4), (2,3), (0, 2)) -> 각 항을 지수아 계수의 쌍으로 묶어 세 개의 항을 선형 리스트의 원소로 정의 할 수 있음
    • chapter.4 연결구조와 연결 리스트

      • 연결 자료구조와 연결 리스트의 이해
        • 연결 자료 구조 (Linked Data Structure)

          • NonSequencial Data Structure 이라고도 함
          • 워소의 주소에 의해 순서가 연결되는 방식
            • 크기 변경이 유연하고 메모리 사용이 효율적임
        • 연결 리스트

          • 단순 연결 리스트, 원형 연결 리스트, 이중 연결 리스트, 이중 원형 리스트 등이 있음

          • Node -> 연결 자료 구조에서 하나의 원소를 표현하기 위한 단위 구조

            • <원소, 주소>의 구조

            • 데이터 필드

              • 원소의 값을 저장
              • 저장할 원소의 형태에 따라서 하나 이사으이 필드로 구성
            • 링크 필드

              • 다음 노드의 주소를 저장
              • 포인터 변수를 사용하여 주소값을 저장
              • 포인터, 링크, 참조(reference) 라고도 함
          • 순차 자료구조와 연결 자료구조의 비교

            • 순차 자료구조

              • 배열을 이용해 구현
              • 삽입, 삭제의 과정이 비교적 비효율적임
              • 저장된 원소의 논리적인 순서와 물리적인 순서가 일치함
            • 연결 자료구조

              • 포인터를 이용해 구현
              • 삽입, 삭제의 과정이 비교적 효율적임
              • 저장된 원소의 논리적인 위치가 바뀌어도 물리적인 위치는 변하지 않음
          • 연결 리스트

            • 리스트 이름 -> 연결 리스트의 시작을 가리키는 포인터 변수
              • 연결 리스트의 첫 번째 노드를 가리킴과 동시에 연결된 리스트 전체를 의미함
            • 마지막 노드의 링크 필드 -> NULL 저장
            • 각 노드의 필드에 저장된 값은 '.'연산자를 통해 액세스
              • ex. week.data -> 데이터 필드에 저장된 값 / week.link -> 링크 필드에 저장된 주소
        • 단순 연결 리스트

          • 노드가 하나의 링크 필드에 의해서 다음 노드와 연결되는 구조

          • 단순 연결 리스트에서의 삽입 연산

              1. 삽입할 노드를 준비한다.
              1. 새 노드의 데이터 필드에 값을 저장한다.
              1. 새 노드의 링크값을 저장한다.
              1. 리스트의 앞 노드에 새 노드를 연결한다.
          • 단순 연결 리스트에서의 삭제 연산

              1. 삭제할 앞 노드의 앞 노드를 찾는다.
              1. 앞 노드에 삭제할 노드의 링크 필드값을 저장한다.
              1. 삭제한 노드의 앞 노드와 삭제한 노드의 다음 노드를 연결한다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages