알고리즘 & 자료구조/자료구조-Java

package review1; import java.util.LinkedList; public class LinkedList02 { //LinkedList는 ArrayList에 비해 접근 시간이 느리다.(데이터가 떨어져 있기 떄문) (prev,next로만 연결됨) //하지만 data의 추가 삭제는 빠르다. //데이터가 많을 수록 접근성이 떨어진다. public static void main(String[] args){ LinkedList data_list = new LinkedList(); //데이터 추가 data_list.add(1); data_list.add(2); data_list.add(3); System.out.println(data_list); //[1, 2, 3] //첫번째 요소에 데이터 추..
package review1; public class SingleLinkedList { //head ( 첫번째 요소를 가리키는 노드) Node head = null; //데이터 추가 구현 public void addNode(T data){ if(head == null){ //첫번째 데이터라면 head = new Node(data); }else{ //두번째 이후 데이터라면 Node node = this.head; while(node.next != null){ //순회 node = node.next; } node.next = new Node(data); } } //전체 출력 public void printAll(){ if(head != null){ Node node = this.head; System.out..
package review1; public class DoubleLinkedList { public Node1 head = null; public Node1 tail = null; //데이터 추가 public void addNode(T data){ if(this.head == null){ this.head = new Node1 (data); this.tail = this.head; }else{ Node1 node = this.head; while(node.next != null){ node = node.next; } node.next = new Node1(data); node.next.prev = node; this.tail = node.next; } } public void printAll(){ if(..
package review1; import java.util.ArrayList; import java.util.Collections; public class ArrayList02 { /*ArrayList의 접근 시간은 LinkedList에 비해 빠르다. 하지만 LinkedList에 비해 ArrayList는 데이터의 추가/삭제가 느리다. 순차적인 추가 삭제는 더 빠르다. (데이터들의 주소가 붙어있기 때문에) 비효율적인 메모리를 사용해야 한다.*/ public static void main(String[] args) { ArrayList data_list = new ArrayList(); //데이터 추가 data_list.add(3); System.out.println(data_list); //[3] dat..
import java.util.ArrayList; import java.util.Collections; public class Heap { //힙(Heap) 이란? //힙 : 데이터에서 최대값과 최소값을 빠르게 찾아내기 위해 고안된 완전 이진 트리(Complete Binary Tree) //완전 이진 트리 : 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 // //힙을 사용하는 이유 : //배열에 데이터를 넣고, 최대값과 최소값을 찾으려면 O(n)이 걸림 //이에 반해 , 힙에 데이터를 넣고, 최대값과 최소값을 찾으려면 O(logn)이 걸림 //우선순위 큐와 같이 최대값 또는 최소값을 빠르게 찾아야 하는 자료구조 및 알고리즘 구현 등에 활용됨 //힙(Heap) 구조 //힙은 최대값을 구하..
import java.util.ArrayList; import java.util.Collections; public class Heap { //힙(Heap) 이란? //힙 : 데이터에서 최대값과 최소값을 빠르게 찾아내기 위해 고안된 완전 이진 트리(Complete Binary Tree) //완전 이진 트리 : 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 // //힙을 사용하는 이유 : //배열에 데이터를 넣고, 최대값과 최소값을 찾으려면 O(n)이 걸림 //이에 반해 , 힙에 데이터를 넣고, 최대값과 최소값을 찾으려면 O(logn)이 걸림 //우선순위 큐와 같이 최대값 또는 최소값을 빠르게 찾아야 하는 자료구조 및 알고리즘 구현 등에 활용됨 //힙(Heap) 구조 //힙은 최대값을 구하..
신재권
'알고리즘 & 자료구조/자료구조-Java' 카테고리의 글 목록 (2 Page)