choiDev

고정 헤더 영역

글 제목

메뉴 레이어

choiDev

메뉴 리스트

  • 홈
  • 방명록
  • 자바
  • 자바로 푼 알고리즘
  • 안드로이드
  • 네트워크
  • 컴퓨터 구조
  • 책 리뷰
  • 재테크
  • 취미 회계
  • 개발자의 여행 방식
  • 글 쓰기
  • 분류 전체보기 (170)
    • 스타트업 회고 (0)
    • Network (20)
    • Programming language (29)
      • C 언어 (0)
      • 자바 (12)
      • Kotlin (17)
    • Algorithm (36)
    • Data Structure (10)
    • Android (36)
      • 안드로이드 (Realm) (0)
      • RxJava (0)
    • Backend (18)
    • React (2)
    • IT에 대해 (9)
    • 앱 or 서비스 리뷰 (0)
    • Slack (1)
    • GIT (1)
    • Database (1)
      • MySql (1)

검색 레이어

choiDev

검색 영역

컨텐츠 검색

Data Structure

  • Stack 면접 문제

    2025.01.19 by choiDev

  • [자료구조] 배열(Array)

    2021.09.14 by choiDev

  • [자료구조] 신장 트리, 최소 비용 신장 트리 (Spanning Tree)

    2020.11.06 by choiDev

  • [자료구조] 그래프(Graph)

    2020.11.06 by choiDev

  • [자료구조] 트리 (Tree)

    2020.11.05 by choiDev

  • [자료구조] 덱 (Deque)

    2020.11.05 by choiDev

  • [자료구조] 큐(Queue)

    2020.11.05 by choiDev

  • [자료구조] 스택 (Stack)

    2020.11.05 by choiDev

Stack 면접 문제

스택은 무엇인지 설명해주세요. FILO(First In Last Out)구조로 처음 들어간 요소가 가장 마지막에 나오는 자료구조이다. 스택은 (배열이나, 연결리스트, 동적배열)등을 통해 구현할수있으며 데이터가 선입 후출인 사용 한다.예시)  1. 자바의 메소드 호출은(stack)으로 구성,  2. 모바일 앱의 화면은 stack구조로 화면 이동을 관리, 3. 웹 브라우저의 뒤로가기 앞으로가기 또한 stack 구조로 이루어짐 4. 텍스트에디터의 undo, redo또한 stack 스택을 구현하는 두 가지 방법은 무엇이고 장단점은 무엇인가요? 1. (배열이나, 연결리스트, 동적배열)등을 통해 구현할수있으며      배열의 경우 메모리 장점은 있으나 고정 크기로 인해      지정된 배열크기를 넘어설때 stack..

Data Structure 2025. 1. 19. 12:49

[자료구조] 배열(Array)

[배열이란?] - 인덱스를 가지고있으며 순차적으로 데이터가 삽입 삭제될수있는 형태의 자료구조이다. Array의 특징 - 삽입 순서대로 저장됨 - 인덱스로 특정요소를 빠르게 색인가능하며 각 요소에 접근하는 속도는 O(1) 이다. - 인덱스로 특정요소에 삽입하는데 걸리는 속도는 O(1)이다. - 중복 값 삽입 가능 - 다차원 배열이 가능, 백터, 행렬 표현 가능 - 요소의 추가 삭제가 빈번하면 resizing 이슈가 생김 - Resizing같은 리소스 낭비가 없으려면 데이터의 변경이 적을때 배열을 사용하는것이 좋음 Array의 메모리 구조 배열의 메모리구조는 차례대로 저장되는 구조이며 메모리 주소조차 순서대로저장된다 즉 실제메모리상에서 물리적으로 데이터가 순차적으로 저장한다 배열의 삭제는 중간을 삭제하게된다..

Data Structure 2021. 9. 14. 00:25

[자료구조] 신장 트리, 최소 비용 신장 트리 (Spanning Tree)

신장 트리(Spanning Tree)란? 아래 조건을 만족하는 그래프를 의미합니다. 1. 연결 그래프의 부분 그래프이며, 그래프에서 모든 정점을 포함합니다. 2. 정점 간 서로 연결이 되어있어야 합니다. 3. 사이클이 존재하지 않는 그래프 4. 연결 그래프에서 신장트리는 1개가 아닌 다수일 수 있습니다. 아래 그림은 연결 그래프를 다양한 신장트리로 표현한 예입니다. 최소 비용 신장 트리(MST - Minimum Cost Spanning Tree)란? 1. 트리를 구성하는 간선들의 가중치를 합한 값이 최소가 되는 신장 트리입니다. 2. 가중치 무방향 그래프가 베이스일때 구할 수 있습니다. 3. MST를 찾아내는 방법은 다양하며 대표적으론 (크루스칼, 프림) 알고리즘이 있습니다. [크루스칼 알고리즘 정리] ..

Data Structure 2020. 11. 6. 21:45

[자료구조] 그래프(Graph)

그래프란? - 노드와 그 노드를 연결하는 간선을 하나로 모아놓은 자료 구조 - 객체간의 관계를 표현할 수 있는 자료구조 Ex) 지도, 지하철 최단경로, 도로 - 트리의 상위 개념 그래프 관련 용어 정점 (vertex) 위치 혹은 노드라고 부른다. 간선 (Edge) 정점간의 연결 선 인접 정점(adjacent vertex) 간선에 의해 직접 연결된 정점 방향 그래프 (Directed Graph) 간선에 방향성이 있는 그래프 무방향 그래프 (Undirected Graph) 방향성이 정해져 있지 않고 양방향으로 이동 가능한 그래프 가중치 그래프 (Weighted Graph) 간선에 비용이나 가중치가 할당된 그래프 연결 그래프 (Connected Graph) 무방향 그래프에 있는 모든 정점에 대해 항상 경로가 ..

Data Structure 2020. 11. 6. 03:02

[자료구조] 트리 (Tree)

Tree란? 1. 노드의 연결관계로 이루어진 자료구조 2. 트리는 하나의 루트 노드를 갖는다. 3. 자식 노드도 0개 이상의 자식 노드를 가지고 있다. 4. 비선형 자료구조로 계층적 관계를 표현 할 수 있다. 5. 그래프의 하위 개념으로 볼 수 있다. Tree 구조 & 용어 루트 노드(root node) 최상위 노드 말단 노드(leaf node) 자식이 없는 노드 내부 노드(internal node) 단말 노드가 아닌 노드 간선(edge) 노드와 노드를 연결하는 선 형제(sibling) 같은 부모를 가지는 노드 노드의 깊이(depth) 루트 -> 찾는 노드 까지의 edge의 수 노드의 레벨(level) 트리의 특정 깊이를 가지는 노드의 집합 노드의 차수(degree) 각 노드가 지닌 가지의 수 트리의 차..

Data Structure 2020. 11. 5. 21:46

[자료구조] 덱 (Deque)

Queue의 종류 1. Deque (덱) 1.1 Double Ended Queue의 줄임말로 큐의 변형 형태이다. 1.2 Head와 Tail 어느 쪽이던 입력, 출력을 실행 가능합니다 1.3 Head와 Tail이 아닌 리스트 중간에 있는 값은 접근이나 삭제등이 불가능 합니다. 2. Scroll Deque(입력제한 덱) 2.1 Deque의 개념에서 양쪽 입력이 아닌 한쪽 입력만 가능한 것으로 제한이 되어있다. 3. Shelft Deque(출력 제한 덱) 3.1 Deque의 개념에서 양쪽 출력이 아닌 한쪽 출력만 가능 Deque (덱) Scroll Deque (입력제한 덱) Shelft Deque (출력제한 덱) Deque 용어 (Front / Back) Push (앞/뒤) 데이터 입력 (Front / Ba..

Data Structure 2020. 11. 5. 17:08

[자료구조] 큐(Queue)

Queue의 종류 1. 선형 Queue 1.1 가장 기본적인 선형 Queue 1.2 Queue가 가득 차게되어 데이터를 넣지 못하는 상황일때 Dequeue시 빈 공간에 데이터를 한 칸씩 당기는 작업을 해야하는 단점이 있습니다. 2. 원형 Queue 2.1 선형 Queue의 단점이 보완되어 Dequeue시 데이터를 당기지 않고 Front와 Rear의 위치를 변경합니다. 2.2 Front와 Rear의 거리는 Data의 갯수이며, 둘의 위치는 (삽입/출력)에 맞춰 변경됩니다. 3. 우선순위 Queue (트리구조 여서 Heap과 함께 다루겠습니다) 선형 Queue 구조 Queue 용어 FIFO (First In First Out) 선입선출 Front 데이터가 출력되는 곳 Rear 데이터가 입력되는 곳 Enque..

Data Structure 2020. 11. 5. 02:06

[자료구조] 스택 (Stack)

스택의 구조 스택 용어 LIFO (Last In First Out) 후입선출 Top or Stack Pointer 스택의 가장 상단에 위치 Bottom 스택의 가장 하단 Push / Pop 데이터 (입력 / 출력) Clear/Empty 데이터 (삭제 / 비었는지 확인) Full 데이터가 가득 찼는지 확인 Size 스택의 크기 스택의 용도 1. 임시 데이터 백업 (재귀함수 or 웹 방문기록) 2. 시스템 스택 (지역변수 저장, 함수 매개변수 호출) 4. OS에서 필요할 때 사용 "스택 메모리 영역"에서 추가된 메모리는 Library 방향으로 할당되게 된다. 따라서 스택에서 아무리 메모리가 할당되어도 커널의 영역은 침범하지 않기에 OS가 다운되는등의 치명적의 에러는 방지 할 수 있다. 스택의 단점 1. 스택..

Data Structure 2020. 11. 5. 01:40

추가 정보

인기글

최신글

페이징

이전
1 2
다음
TISTORY
choiDev © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바