일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 폰노이만 아키텍쳐
- 큐
- 컴퓨터 네트워크
- combinators
- 티스토리챌린지
- OSI7계층
- 이진검색
- 복사
- 선형 큐
- 자바
- 컴퓨터구조
- SQL
- 선택자
- 스택
- OOP
- 오블완
- MySQL
- Algorithm
- Java
- 컴퓨터네트워크
- math
- JavaScript
- Stack
- Git
- Selector
- object
- 덱
- 프로토콜
- 컴파일
- JS
- Today
- Total
목록오블완 (14)
Hello WeonHyeok!

컴퓨터과학에서 데이터를 정렬하는 것은 매우 중요하다. 중요한 만큼 다양한 정렬 알고리즘이 존재하는데 차차 다 알아가 보자. 버블정렬 버블 정렬(Bubble sort)은 배열을 순차적으로 비교하면서 정렬하는 알고리즘이다. 1번째와 2번째 원소를 비교하고 정렬하고, 2번째와 3번째 비교 후 정렬 ...... n-1, n번째 비교 후 정렬이다. 버블 정렬은 정렬 알고리즘 중 가장 최악의 성능을 보여주는 알고리즘이다. 정렬에 대표적인 O(N^2)의 알고리즘이며 O(n^2)은 1만 개 데이터를 1초에 정렬한다면 10만 개의 데이터는 100초 정도나 걸린다. 버블 정렬은 성능이 최악이다. 보통 프로그래밍 처음 공부할 때 정렬을 처음 공부할 때 버블 정렬부터 공부를 한다. 가장 이해하기..

메모리는 데이터와 명령을 일시적으로 저장할 수 있고, 저장된 데이터를 읽을 수도 있다.컴퓨터에는 현재 실행되고 있는 프로그램과 데이터를 저장하기 위한 주기억 장치(Main memory) 대용량 보조 기억 장치(Mass memory)가 있다. 보조 기억 장치로 사용되는 테이프, 하드디스크, SSD는 동작 속도가 느리다. 메모리와 연산기는 짝꿍이다. 메모리는 땔감과 같은 존재이다. 연산기는 땔감을 통해 동작한다. 메모리는 기억을 하며 기억한 정보를 연산기에 전달하며 연산기는 수준 높은 동작을 하게 된다. CPU와 관련된 소자들을 정리해보자.CPU - 레지스터 - 레지스터 파일 - 캐쉬 - 메인메모리 - SSD, HDD - CD/ROM, DVD, Tape 메모리의 구조 메모리는 2진 데..

절차 지향 프로그래밍과 객체 지향 프로그래밍에 대해 정리해보겠다. Java는 대표적인 객체 지향 프로그래밍 언어중 하나이다. Java가 탄생하기 이전 다른 컴퓨터 언어들은 객체 지향이 아닌 절차 지향 언어가 많았다. 절차지향 프로그래밍은 순차적인 처리 프로그램이다.절치지향 대표 언어는 C언어이다. 절차지향 프로그래밍은 컴퓨터의 처리구조와 유사해 처리속도가 빠르다. C언어같은 저급언어(컴퓨터 친화적 언어)가 속도가 빠른 이유중 하나가 절차 지향이기도 하다. 절차지향(Procedural Programming) 프로그래밍 패러다임의 일종으로서 명령형 프로그래밍과 동의어로 쓴다. 특징프로그램 구조: 프로그램을 단계적으로 해결해야 할 절차나 함수로 나눔데이터와 함수의 분리: 데이터를 저장하는 구조와 이를 조..
사용자에게 양의 정수값을 입력받고, 변환하고 싶은 진수를 정수로 입력받는다. 그리고 정수n을 입력받아 n을 사용자가 원하는 진수로 변환하는 프로그램을 만들고자 한다. package binaryProgram;class DivideNum { String fillTheCharArr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; divideNum() { } int divideNum(int number, int divide, char[] cArr) { int digits = 0; do { cArr[digits++] = fillTheCharArr.charAt(number % divide); numb..

Java에서 스택 트레이스(Stack Trace)는 프로그램 실행 중 예외(Exception)가 발생했을 때, 해당 예외가 발생한 위치와 호출된 메서드의 순서를 보여주는 디버깅 정보이다. 스택 트레이스는 예외가 발생한 이유를 파악하고 해결하는 데 도움이 되는 도구이다. public class StackTracePractice { public static void main(String[] args) { Generation g = new Generation(); try { g.checkStringLength(); } catch (NullPointerException npe) { npe.printStackTrace(); ..

현대 컴퓨터의 구조는 폰 노이만 구조를 기반으로 만들어졌다.현대 컴퓨터의 핵심 원리는 폰 노이만 구조이다. 폰 노이만 구조는 존 폰노이만이 제시한 컴퓨터 구조이다. 프로그램 내장 방식이라고 불린다. 컴퓨터 초기에는 스위치를 설치 후 전선들을 연결해 데이터를 전송하고 처리하는 식으로 프로그래밍하였다. 폰 노이만 구조는 메모리, 제어 장치, 연산 장치, 출력 장치의 다섯 가지 주요 요소로 구성되며, 프로그램 내장 방식을 기반으로 하고 있다. 초기 컴퓨터 폰 노이만 구조 이전의 컴퓨터는 배전반의 연결을 통해 연산을 수행했다. 여기서 만약 다른 연산을 하고 싶다면 컴퓨터에 연결된 하드웨어(배선)의 위치를 바꿔가며 프로그래밍을 수행했었다. 이런 불편함을 해결하기 위해 새로운 아키텍처가 탄생했다..

**대원칙: 자바는 항상 변수의 값을 복사해서 대입한다. (김영한 강의 중) 저 대원칙을 꼭 기억하고 계속 생각하자. public class MethodChange { public static void main(String[] args) { DataA dataA = new DataA(); dataA.value = 10; System.out.println("메서드 호출 전 dataA의 값 = "+dataA.value); changeValueMethod(dataA); System.out.println("메서드 호출 후 dataA의 값 = "+dataA.value); } static void changeValueMethod(..