YJS study

YJS study

  • 분류 전체보기 (58)
    • c,c++ (17)
      • c++ 관련 개념 및 문법 (11)
    • Java (4)
    • Unity (3)
      • Unity C# (3)
    • 컴퓨터 그래픽스 (18)
      • 그래픽 알고리즘 및 표현 (10)
      • 그래픽스 개념 (2)
      • HLSL (5)
    • 컴퓨터구조 (9)
    • 운영체제 (0)
    • 자료구조 (4)
    • 알고리즘 (2)
    • 컴파일러 (1)
    • 기계 학습 (0)
      • 딥러닝 (0)
      • 기계학습 이론 (0)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

YJS study

컨텐츠 검색

태그

Java unique pointer 자바 상속 자바 이진탐색트리 삽입 2차원포인터 이진탐색트리 rim light phongshading 함수형 인터페이스 C++ HLSL 컴퓨터구조 C/C++ 이진탐색트리 삭제 phong shading GLFW stringclass functional interface blinn phong

최근글

댓글

공지사항

아카이브

알고리즘(2)

  • 요소들을 그룹 지어서 개수 세기

    배열에 같은 수들을 그룹지어서 개수를 세는 과정 int num[LENGTH] = { 2,2,7,7,7,7,5,7,7 }; int groupCount = 0; for (int i = 0; i < LENGTH; i++) { if (i == 0 || num[i] != num[i-1]) { groupCount++; } } index가 0이면 음수 index가 나오므로 예외처리 i+1을 확인하는 것보다 i -1 보는 것이 더 깔끔하고 확인이 쉽다. i+1이라면 마지막 값을 예외처리 해주어야함

    2023.08.22
  • heap

    heap은 우선순위 큐 같은 곳에서 최대값이나 최솟값을 빠르게 찾아낼 때 쓰이는 알고리즘이다. 자료구조는 트리를 이용한다. max-heap은 최댓값이 무엇인지만 알 수 있고 나머지 값들은 어떤지 모른다. heap을 만들 때 heapify라는 과정을 거친다. 이 수를 heap 정렬을 이용하게 되면 이걸로 트리를 만들어본다. 트리는 배열 및 리스트로 구현이 가능하다. 배열로 구현할 시에는 맨 위의 root는 0이 되고 왼쪽 자식 노드는 0 * 2 + 1로 오른쪽 자식 노드는 0 * 2 + 2로 접근하게 된다. 가장 큰 노드가 맨 위로 오게 하는 것이 max heap의 목적이다. 그러므로 root와 왼쪽, 오른쪽을 비교하고 만약 자식이 더 크다면 현재의 노드와 자식 노드의 값과 교환한다. 그리고 가장 큰 곳의..

    2023.05.07
이전
1
다음
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바