본문 바로가기

728x90
반응형

분류 전체보기

(162)
경문사 이공계 대학수학 솔루션 보호되어 있는 글입니다.
[C++] 단일 타입의 Singly Linked List 구현 Linked List linked list는 데이터를 저장하는 구조 중 하나로 여러 개의 노드가 포인터로 연결된 선형 데이터 구조이다. 해당 자료구조는 구조체(혹은 클래스) 안에 저장할 데이터와 노드를 갖고 있다.      Linked List vs Array linked list는 array와 비교했을 때 장단점이 존재한다.  먼저 장점으로는  특정 데이터를 제거하거나 저장하려고 하면 array는 항상 O(n)의 시간복잡도를 갖지만 linked list는 O(n-k)의 시간복잡도를 갖기 때문에 해당 작업에서 빠른 속도를 보인다. (최악의 경우에는 동일하다) 이때 특히 맨 앞의 데이터를 삽입하거나 제거하려고 할 때 linked list는 O(1)의 시간복잡도를 갖는다.  단점으로는 특정한 위치의 데이터에..
[Java] Iterator 인터페이스 Iterator interface Iterator interface는 컬렉션 원소에 접근하기 위한 반복자를 제공한다. 그러나 키-값 구조의 Map 컬렉션은 반복자를 제공하지 않는다. Iterator interface에는 유용한 다음과 같은 메서드가 존재한다. boolean hasNext()다음 원소의 존재 여부를 반환한다.E next()다음 원소를 반환한다.default void remove()마지막에 순회한 컬렉션의 원소를 삭제한다.   예시로 아래 코드를 확인해 보겠다. import java.util.*;public class App { public static void main(String[] args) throws Exception { Collection list = Arrays..
[Java] 컬렉션 프레임워크 (Collection Framework), List 인터페이스 (List interface) 컬렉션 (Collection) 데이터를 저장하고 관리하는 Java의 가변 크기의 오브젝트 컨테이너를 컬렉션이라고 한다. 리스트, 트리, 해쉬, 셋, 큐, 맵 등의 자료구조가 여기에 포함된다.    인터페이스 (Interface) 컬렉션 프레임워크는 인터페이스와 클래스로 구성되어 있다. 인터페이스는 클래스가 어떤 식으로 구현되어야 하는지에 대해서 클래스의 동작 규칙을 정의하는 역할을 한다.     컬렉션 프레임워크 컬렉션 프레임워크 인터페이스의 하위 인터페이스로는 List, Queue, Set 인터페이스가  있다. 컬렉션 프레임워크에는 다음과 같은 메서드들이 정의되어 있으며 이는 컬렉션 프레임워크의 상속을 받는 인터페이스에서만 사용이 가능하다. boolean add(E e)객체를 맨 끝에 추가한다.void..
[Java] package, import 패키지 (package) 패키지는 하나의 프로젝트에서 여러 개의 소스파일을 사용할 때 서로 다른 소스파일을 구분하기 위하여 사용한다.  C++이나 C#에서의 namespace와 유사한 역할을 한다고 생각하면 된다. 만약 패키지를 명시하지 않으면 Java의 기본 패키지를 사용하고 있는 것이다. 패키지는 소스코드당 한 번만 선언할 수 있으며 소스코드의 가장 첫 번째 줄에 위치해야 한다. 예를 들어 아래 코드처럼 작성된 두 개의 소스파일이 있다고 해보자. package test1;public class MyClass { } package test2;public class MyClass { }  이제 해당 프로젝트에서는 import를 통해서 같은 이름의 MyClass를 사용하는 것이 가능하다.      impo..
[Java] 오브젝트 클래스 (Object Class) 오브젝트 클래스 (Object Class) 모든 Object Class는 Java의 최상위 부모클래스이다. 따라서 Java의 모든 Class는 Object Class를 직간접적으로 상속받는다.    오브젝트 클래스의 역할 Java의 모든 클래스는 오브젝트 클래스에서 파생되므로 모든 클래스에서 오브젝트 클래스의 메서드를 사용할 수 있다. 즉, 오브젝트 클래스는 Java에 기본적인 메서드를 제공하는 역할을 한다.     오브젝트 클래스 메서드 - clone()protected Object clone() throws CloneNotSupportedException clone() 메서드는 현재 객체의 복사본을 생성하는 역할을 한다. 복사는 얕은 복사로 진행되기 때문에 깊은 복사를 사용하고 싶다면 오버라이딩을 해..
[Java] final final 키워드 final 키워드를 사용하면 기본적으로 확장 불가능하다는 특성을 갖고 있다. final 키워드는 변수, 메서드, 클래스 등에 사용할 수 있다.    - final 변수final 키워드를 변수에 사용하게 되면 마치 const 키워드처럼 초기화 이후 변수의 값을 변경할 수 없게 된다. 그러나 final은 const와 다른 점이 있는데 참조형 변수(객체)에 사용할 경우 내부의 값은 변경할 수 있다. 이때 final은 참조형 변수의 주소값을 변경할 수 없다는 의미로 사용된다.    - final 매개변수매개변수에 final을 사용하게 되면 해당 매개변수는 함수 내부에서 값의 변경이 불가능하다. 이는 const를 사용하는 것과 매우 유사하다.    - final 메서드final 키워드를 메서드에..
[시스템 소프트웨어/C언어] 파일의 유형 확인 파일의 유형 주로 파일의 유형에는 Regular file, Directory file, Device file, FIFO, Socket 등이 있다. - Regular fileBinary or text file - Directory fileA file that contains the names and locations of other files - Device file - Character special and block special files (문자 장치 파일과 블록 장치 파일)- Character soecial file (문자 장치 파일)데이터를 바이트 단위로 전송하는 장치ex) terminal, mouse, keyboard etc.- block sepcial file데이터를 블록 단위로 전송하는 장치..

728x90
반응형