Development/Algorithm, DataStructure(95)
-
게시판 페이징 알고리즘 2
게시판 페이징 알고리즘 2총 건수(m)를 한 페이지에 보여줄 게시물 수(n)로 나누고 1을 더하면 총 페이지수를 얻을 수 있다. 게시물의 총 건수 (m) 페이지당 보여줄 게시물 수 (n) 총 페이지 수 m/n m/m+1 // 5 10 1 5/10 = 0.5 5/10+1=1.5 1 15 10 2 15/10=1.5 15/10+1=2.5 2 25 10 3 25/10=2.5 25/10+1=3.5 3 35 10 4 35/10=3.5 35/10+1=4.5 4 페이징 오류 확인 및 해결총 게시물 수(m)와 한 페이지에 보여줄 게시물 수(n)를 나눈 나머지 값이 0이 될 때 페이징 오류가 발생합니다.나누었을 때 나머지가 0인 경우는 나누기의 몫만 리턴하고 그 이외의 경우에는 1을 더한 값을 리턴하면 정확한 페이징 처리..
-
LinkedList<E>, LinkedList생성자 요약, Class LinkedList<E>
LinkedList· LinkedList 이름이 의미하듯이 ‘리스트’라는 자료구조를 기반으로 데이터를 저장합니다.· ArrayList의 사용방법과 거의 동일하지만, 데이터를 저장하는 방식에서 큰 차이가 있습니다. 대부분의 경우 ArrayList로 대체할 수 있습니다.· LinkedList는 add()메서드와 poll()메서드 등에 의해 선입선출(先入先出), first-in-first-out(FIFO)법을 제공하는 Queue 인터페이스를 구현하며 Thread동기화는 제공되지 않습니다.· 배열(Array)은 모든 데이터가 연속적으로 존재하지만 LinkedList는 불연속적으로 존재하는 데이터를 서로 연결(link)한 형태로 구성되어 있습니다. LinkedList생성자 요약
-
Map 상속 구조도, Map의 구현 클래스
Map 상속 구조도사용자가 원하는 Value의 Key를 알고 있다면 Key를 당겨(get) 해당 Key와 매핑되어 있는 Value를 얻을 수 있는 구조입니다.데이터 검색을 Key로 하기 때문에 Key를 모르면 원하는 Value를 얻을 수 없습니다. Map의 구현 클래스
-
Simple linked list(singly linked list; 단순 연결 리스트)
Simple linked list(singly linked list; 단순 연결 리스트) 각 노드에 자료 공간과 한 개의 포인터 공간이 있고, 각 노드의 포인터는 다음 노드를 가리킵니다. 단순 연결 리스트는 가장 단순한 연결 리스트의 형태로 각 노드들은 다음 노드를 가리키는 하나의 참조만을 갖는다. 다음 노드의 참조밖에 가지고 있지 않으므로 노드의 접근은 한 방향으로만 가능합니다. 헤더는 처음 노드의 참조만 가지고 있으며 처음 노드는 두번째 노드, 두번째 노드는 세번째 노드를 가리키고 있으며 마지막 노드가 가리키는 참조값은 null이 됩니다. 즉, 헤더가 가리키는 노드가 처음 노드며 참조값이 null인 노드가 마지막 노드가 됩니다.
-
이진 트리 특징 - 이진 트리 정렬, 이진 트리 데이터
이진 트리 특징· 이진 트리 정렬· 이진 트리 데이터 이진 트리 정렬8, 5, 10, 2, 6 순으로 저장된 이진 트리 자료구조 8, 5, 10, 2, 6 2, 5, 6, 8, 20왼쪽 노드의 값부터 오른쪽 노드값을 왼쪽노드 -> 부모노드 -> 오른쪽노드 순으로 읽어오면 오름차순으로 정렬된 요소를 얻을 수 있습니다.TreeSet은 정렬된 상태를 유지하기 때문에 단일 값 검색과 범위 검색(range search)시 매우 빠릅니다.저장된 값의 개수에 비례해서 검색시간이 증가하지만 값의 개수가 10배 증가하더라도 특정 값을 찾는데 필요한 비교횟수는 3~4회 밖에 증가하지 않아 검색 효율이 뛰어난 자료구조입니다. 문자열(String)의 정렬문자열의 정렬의 경우 정렬순서는 문자의 아스키코드값이 되므로 오름차순 정..
-
Algorithm Visualizer
Algorithm Visualizerhttp://jasonpark.me/AlgorithmVisualizer/ https://github.com/parkjs814/AlgorithmVisualizer