자료구조 3

[자료구조] 파이썬(Python) VS 자바(Java) 주요 자료구조 비교해보기

파이썬과 자바의 주요 자료구조를 비교해보았다. 비교항목 Array : Java Array VS Python List List : Java ArrayList VS Python List LinkedList : Java LinkedList VS Python Collections.deque Map : Java HashMap VS Python Dictionary Set : Java HashSet VS Python Set 1. Array : Java Array VS Python List Java Array 자바에서 배열(Array)의 크기는 정적(static)이기 때문에 각 요소의 값을 변경하는 것은 가능하지만 크기를 줄이거나 늘릴 수 없다. 처음 선언된 배열의 크기를 변경하는 경우 새로운 메모리 블록이 힙 영역에..

[자료구조] 자바 java.util.LinkedList의 주요 메소드 정리

이 글은 java.util. LinkedList 를 공부하면서 중요하다고 생각되는 메소드를 정리하였다. 1. Constructor public class LinkedList{ private Node head; //첫번째 노드 private Node tail; //마지막 노드 private int length; //노드의 수 class Node{ // Linked List 내부에 Node가 nested 클래스로 들어있음 int value; // 데이터 Node next;// 포인터 Node(int value){ // Node생성자 , 데이터를 파라메터로 받음 this.value = value; } } public LinkedList(int value){ // LinkedList의 생성자 Node newNo..

[자료구조] 추상자료형(ADT, Abstract Data Type)과 자료구조(Data Structure)

추상자료형 (ADT, Abstract Data Type) 프로그래밍에서 “superType”이라고 불린다(인터페이스와 추상클래스처럼 파생된 하위형식에 자신의 특성을 제공함) 기본 동작(basic behavior)만을 정의한다(실제로 어떻게 구현되는지에 대한 세부사항은 제외하고 해당 데이터 타입이 제공해야 하는 기본 동작만을 정의한다) 종합해보면 추상자료형(ADT)은 자료구조를 위한 설계도라고 볼 수 있다. 종류 대표적인 추상자료형(ADT)은 스택(STACK)과 큐( QUEUE)를 들 수 있다. 이들은 데이터를 조직화하고 특정 동작만을 수행하기 위한 추상적인 모델을 제공한다. 스택(Stack) Last In, First Out (LIFO) 방식을 따르는 자료구조로, 마지막에 추가된 항목이 가장 먼저 제거되..