분류 전체보기 (27) 썸네일형 리스트형 트리에 대해(C언어) 1. 트리 개념과 용어1-1. 트리 개념트리는 우리가 알고 있는 Tree, 즉 나무를 의미한다. 나무처럼 생긴 자료구조라서 트리라고 불린다.여기서 나무는 잎, 가지, 뿌리를 갖는다. 이 3가지를 트리라는 자료구조에서 주된 개념으로 사용하게 된다. 그런데 우린 이 나무를 거꾸로 뒤집어 사용할 것이다. 하지만 뿌리에서 잎으로 뻗어나가는 구조는 변함이 없다.1-2. 트리 용어트리는 앞서 얘기한 잎, 가지, 뿌리 세 가지 요소로 구성 되어 있다. 노드(Node): 뿌리, 가지, 잎 모두 노드라는 요소로 구성잎(Leaf): 가지 끝에 달린 노드 단말 노드라고도 부름가지(Branch):뿌리와 잎 사이에 존재하는 모든 노드뿌리(Root): 최상단에 존재하는 노드 트리의 우측 가지와 잎들의 관계를 보면 부모(Paren.. 큐에 대해(C언어) 1. 읽기 전 알아두면 유용한 것배열링크드 리스트2. 큐의 개념큐는 스택과 반대로 입력과 출력이 각각 반대 방향에 존재한다. 편의점 계산원으로 일할 때 갑자기 많은 손님이 몰려오거나, 게임에서 많은 이벤트들이 한 번에 발생할 땐 어떻게 처리하는 것이 좋을까? 손님과 이벤트 모두 혼란을 막기 위해 한 줄로 세워 둔 후 순서대로 처리하는 것이다. 즉, 큐는 데이터를 한 줄로 세우고, 먼저 들어간 데이터가 먼저 나오는(FIFO: First In First Out) 자료구조이다. 스택과 마찬가지로 필자는 "파이포"라고 외워 조금 더 쉽게 구분할 수 있었다. 큐의 삽입은 Enqueue, 삭제는 Dequeue라고 한다. 큐를 사용하면 데이터가 많아지는 것을 막지는 못하지만, 모든 데이터를 빠짐없이 처리할 수 있다... 링크드 리스트로 구현한 스택 (C언어) 1. 읽기 전 알아두면 유용한 것링크드 리스트 링크드 리스트 with C읽기전 알아두면 좋은 것들C언어 메모리 동적할당구조체리스트의 개념리스트는 우리가 일상 생활에서 자주 사용하는 뜻과 유사하다. 목록 형태로 이루어진 데이터 형식이다. 리스트의 개별 요codetobrain.tistory.com2. 스택의 개념Stack은 쌓다의 의미를 지니고 있다. 말 그대로 데이터를 쌓아서 정리하는 자료구조이다. 스택의 꼭대기에서만 연산이 이루어지는 것이다. 이외 자료구조의 중앙의 데이터 입/출력은 허용되지 않는다. 가장 나중에 들어온 데이터가 가장 먼저 나가는 자료구조(LIFO: Last In-First Out)이다. 필자는 편하게 "라이포"라고 외웠다. 가장 중요한 개념인 '삽입'과 '삭제'는 'Pop'과 'Push.. 링크드 리스트 with C 읽기전 알아두면 좋은 것들C언어 메모리 동적할당구조체리스트의 개념리스트는 우리가 일상 생활에서 자주 사용하는 뜻과 유사하다. 목록 형태로 이루어진 데이터 형식이다. 리스트의 개별 요소는 노드(Node)라고 불리며, 스택, 큐, 트리 등 많은 자료구조가 이를 바탕으로 구성되어 있어 매우 중요하다고 한다.첫 노드는 헤드(Head), 마지막 노드는 테일(Tail)이라고 부른다. 여기서 노드의 개수가 곧 리스트의 길이다. 리스트와 링크드 리스트는 다른 자료구조이다. 링크드 리스트는 노드와 노드가 연결된 것, 그리고 리스트는 링크드 리스트, 배열로 구현한 목록형 자료구조이다. 즉, 리스트는 구현된 자료구조가 아닌 개념에 더 가까운 것 같다. 링크드 리스트 기본 연산Append: 리스트에 노드를 추가하는 연산Ins.. 유니티 Time 클래스 항상 Time 클래스를 사용하였지만 정작 제대로 이해했는지에 대한 의문이 생겨 이렇게 글을 쓰게 되었다. Time 클래스란?Unity에서 제공하는 클래스로 시간과 관련된 작업을 할 수 있다. 대표적인 프로퍼티 Time.time : 프로젝트 재생 시작 후 경과한 시간 초 단위로 반환 Time.deltaTime : 마지막 프레임이 완료된 후 경과된 시간을 초 단위로 반환Time.timeScale : 시간이 경과되는 속도 제어Time.fixedDeltaTime : 물리 및 fixedUpdate() 등이 실행되는 간격(초 단위)Time.maximumDeltaTime : deltaTime의 상한 설정(급격한 프레임 저하로 deltaTime의 부작용 방지) Time.deltaTime을 사용하는 이유?모든 기기의 프.. Boxing & UnBoxing Boxing & Unboxing이 가능한 이유값 & 참조 형식의 변수들은 모두 Object를 상속 받는다. 아래 간단한 코드로 확인이 가능하다. static int Main(string[] args) { Type typeFinder = typeof(int); Console.WriteLine("값 타입은 Value Type을 상속 받는가? : " + typeFinder.BaseType); //System.ValueType이 출력되며 이는 ValueType을 상속 받는 다는 의미 typeFinder = typeFinder.BaseType;//ValueType의 부모 Console.WriteLine(.. 단어 공부 with C++ [문제]영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.[입력]첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다.[출력]첫째 줄에 단어의 개수를 출력한다. [풀이]생각 보다 쉽지 않았던 문제여서 이렇게 기록해보려고 한다. https://www.acmicpc.net/board/view/30509 일단 해당 게시물에서 힌트를 얻었다. 다른 알파벳들의 값을 어떻게 담을지 생각하던 .. 컴퓨터의 4가지 핵심 부품 1. 중앙처리장치(CPU)CPU는 컴퓨터의 두뇌라고한다. 메모리에 있는 데이터와 명령어를 읽고 해석하며 해당 명령어를 실행한다. [CPU의 3가지 핵심 부품]ALU : 계산장치, 컴퓨터 내부의 대부분의 연산을 한다.레지스터 : 내부의 작은 임시 저장 장치, 프로그램을 처리할 때 필요한 값을 임시로 갖고 있음. 각 레지스터는 이름과 역할이 다름 제어장치 : 제어 신호라는 전기 신호를 내보내고 명령어를 해석하는 장치Note. 현대 CPU는 Core와 스레드에 대한 개념이 있지만 해당 글에는 생략하려고한다. 2. 메모리현재 실행되는 프로그램의 데이터와 명령어를 적재하는 부품(지금 당장 작업 관리자를 키면 해당 어떤 프로그램이 메모리를 사용하고 있는지 볼 수 있다)CPU가 읽으려면 메모리에 저장되어야하기에 무조.. 이전 1 2 3 4 다음