목록MyCloud (85)
MyCloud
추상화와 추상 데이터 타입 (ADT) 추상화란, 어떤 대상의 특성과 기능을 간추려 일반화하여사용자와 구현자의 관점을 분리하는 설계단계를 말합니다.사용자에게 중요한 정보는 강조되고 중요하지 않은 세부사항은 제거하는 것입니다.추상화를 사용하면 크고 복잡한 문제에 대해 보다 쉽게 해결방법을 찾을 수 있습니다.추상 데이터 타입(ADT)이란 데이터 타입을 추상적으로 정의한 것입니다. 추상 데이터 타입의 특징 사용자는 내부 데이터에 접근 불가능하지만 사용하는데 지장이 없다.세부적인 내용을 모르는 여러 사용자도 이용할 수 있다.데이터나 연산이 무엇(What)인가는 정의되지만 어떻게(How) 구현할 것인지는 정의되지 않는다.
자바 (JAVA) 자바언어는 가장 많이 사용하는 객체지향 프로그래밍 언어입니다.자바는 운영체제에 관계없이 실행이 가능하며 풍부한 라이브러리(API)를 통해 다양한 기능을 제공합니다.앞으로 블로그에서 다루게 될 자바 포스팅은 JAVA 1.8 version을 기준으로 하며아주 기초적인 개념은 생략하고 자바의 정석과 이펙티브 자바를 참고자료로 사용할 계획입니다.
Set - HashSet 자바 컬렉션에서 제공하는 Set 인터페이스는 순서를 유지하지 않는 데이터의 집합입니다. Map 구조와 달리 중복을 허용하지 않는다는 특징이 있습니다. HashSet은 내부적으로 해싱(Hashing)을 이용해서 구현한 컬렉션입니다. HashSet은 저장순서를 유지하지 않으므로 저장순서를 유지하려면 LinkedHashSet을 사용해야 합니다. JAVA의 HashSet 구현 HashSet 을 활용한 아래 코드를 통해 주요 메서드와 사용법을 알아보겠습니다. 12345678910111213141516171819public class HashSetTest { public static void main(String[] args) { String[] strArr = {"a", "a", "b",..
자료구조 - 이진탐색트리 앞서 포스팅했던 이진트리를 활용한 이진탐색트리입니다. 이진탐색트리는 탐색작업을 효율적으로 하기 위한 자료구조입니다! 탐색이란 사전에서 검색하고자 하는 단어를 찾거나, 서점에서 책을 찾는 것과 같이 자료를 속에서 필요한 자료를 찾아내는 것을 말합니다. 탐색구조에서 탐색을 하기 위해서 찾을 자료를 식별할 수 있는 유일한 값을 키(Key) 라고 합니다. 이진탐색트리에서는 저장할 데이터의 크기, 즉 키에 따라 노드의 위치를 정의합니다. 그리고 이진탐색트리를 중위 순회 방법(LVR)으로 순회하면 숫자 크기 순으로 정렬된다는 성질이 있습니다. 이진탐색트리의 정의는 다음과 같습니다. 1. 모든 노드의 키는 유일하다. 2. 왼쪽 서브 트리의 원소의 키는 그 루트의 키보다 작다. 3. 오른쪽 서..
자료구조 - 이진트리 이진트리는 각 노드가 최대 2개의 서브트리를 가지는 트리를 말합니다! 자바로 이진트리를 구현해보겠습니다. JAVA로 이진트리 구현 12345678910111213141516public class Node { private int data; private Node left; private Node right; public Node(int data) { this.setData(data); } public int getData() {return data;} public void setData(int data) {this.data = data;} public Node getLeft() {return left;} public void setLeft(Node left) {this.left = ..
자료구조 - 트리, 이진트리 트리는 부모-자식 관계의 노드들로 이루어지며 계층적인 구조를 나타내는 자료구조입니다. 운영체제의 파일시스템, HTML, XML 등을 다룰 때 사용하는 DOM, 데이터베이스 등 다양하게 활용되고 있습니다. 트리구조에서 중요한 것은 부모는 여러 자식을 가질 수 있지만 자식은 하나의 부모를 갖는다는 것입니다. 이진트리는 각 노드가 최대 2개의 자식을 가지는 트리를 말합니다. 위의 그림은 포화이진트리 구조입니다. 모든 노드가 2개의 자식을 갖기 때문입니다. 트리의 최상단 노드를 뿌리, 즉 루트(Root)라고 합니다. 루트로부터 어떤 노드까지의 거리를 그 노드의 깊이(Depth)라 하고 깊이가 같은 노드끼리의 집합을 레벨(Level)이라 합니다. 같은 부모를 가진 노드들을 형제(Sib..
자료구조 - 큐 큐는 먼저 들어온 데이터가 먼저 나가는 선입선출(LIFO) 구조입니다.큐에는 삽입(ENQUEUE) 연산과 삭제(DEQUEUE) 연산이 존재하는데삽입의 경우 가장 마지막 위치(Rear)에 쌓이게 되며삭제의 경우 가장 먼저 들어온 데이터, 즉 Front 에 위치한 데이터가 삭제 됩니다.예를 들면, 줄을 서서 물건을 받는 경우를 생각하시면 됩니다! JAVA로 Queue 구현 큐를 구현하는 방법은 2가지가 있습니다.배열을 이용한 큐와 연결리스트를 이용한 큐입니다.먼저 배열을 이용한 큐의 구현입니다. 12345678910111213public class CQueueArray { private int front; private int rear; private int maxSize; private O..
자료구조 - 스택 스택은 가장 최근에 들어온 데이터가 가장 먼저 나가는 후입선출(LIFO) 구조입니다.스택에는 삽입(PUSH) 연산과 삭제(POP) 연산이 존재하는데삽입의 경우 가장 높은 위치(TOP)에 쌓이게 되며삭제의 경우 가장 마지막에 들어온 데이터, 즉 TOP에 위치한 데이터가 삭제 됩니다. JAVA로 Stack 구현 스택을 구현하는 방법은 2가지가 있습니다.배열을 이용한 스택과 연결리스트를 이용한 스택입니다.먼저 배열을 이용한 스택 구현입니다. 123456789101112public class CStackArray { private int top; private int maxSize; private Object[] stackArray; // 최대 크기로 배열 생성 public CStackArra..
엣지 브라우저 (Edge) 최근 윈도우 10 업데이트를 하면서 인터넷 익스플로러에서엣지로 갈아타시는 분들이 많아졌습니다.엣지 브라우저의 시작 페이지 설정하는 법을 알아보겠습니다. 먼저 엣지 오른쪽 위의 메뉴 - 설정 을 클릭합니다. 그리고 다른 프로그램으로 열기 - 특정 페이지를 클릭합니다.아래의 사용자 지정 태그를 선택하고 원하는 페이지를 입력합니다.마지막으로 오른쪽의 + 기호를 통해 추가해주면 끝.
구글 크롬 크롬의 장점은 깔끔한 디자인과 빠른 속도인 것 같습니다. 하지만 가끔 인터넷 결제를 할 경우 Active X 때문에 불편한 점도 있습니다.크롬을 사용할 때 몇가지 단축키를 이용하면 훨씬 빠르고 편하답니다 ! 크롬 사용할 때 단축키 Key Settings Ctrl + N 새로운 창 열기 Ctrl + T 새로운 탭 열기 Ctrl + W 현재 탭 닫기 Ctrl + Q 크롬 브라우저 종료 Ctrl + 1~9 원하는 탭으로 이동 Ctrl + Shift + tap 크롬 탭 이동 (좌, 우) Ctrl + D 북마크 추가 Ctrl + L 주소창 활성화 Ctrl + J 다운로드 목록보기 Ctrl + H 방문기록 보기 Ctrl + U 소스보기 Ctrl + Shift + Del 인터넷 사용기록 삭제 Ctrl + ..