본문 바로가기
728x90

분류 전체보기190

05.16 기록 프로젝트 중심 ----------------------------------------------------------------------------------------------------- 게시판 DB 연동 중 (상세 페이지 추가 예정) 게시판 관련 코드를 짜면서 MySQL 데이터 베이스와 연동을 시키는 과정을 거쳤다. Board 컴포넌트 import React, { Component } from "react"; import "../css/Board.css"; import BoardList from "./Board/BoardList.js" import Pagination from "./Pagination.js"; import axios from "axios"; import NewBoard from.. 2023. 5. 16.
연결 리스트(Linked List) 연속적인 메모리 위치에 저장되지 않는 선형 데이터 구조 (포인터를 사용해서 연결된다) 각 노드는 데이터 필드와 다음 노드에 대한 참조를 포함하는 노드로 구성 왜 Linked List를 사용하나? 배열은 비슷한 유형의 선형 데이터를 저장하는데 사용할 수 있지만 제한 사항이 있음 배열의 크기가 고정되어 있어 미리 요소의 수에 대해 할당을 받아야 함 새로운 요소를 삽입하는 것은 비용이 많이 듬 (공간을 만들고, 기존 요소 전부 이동) 장점 동적 크기 삽입/삭제 용이 단점 임의로 액세스를 허용할 수 없음. 즉, 첫 번째 노드부터 순차적으로 요소에 액세스 해야함 (이진 검색 수행 불가능) 포인터의 여분의 메모리 공간이 목록의 각 요소에 필요 노드 구현 const n1 = { data: 100 } const n2 .. 2023. 5. 15.
05.15 기록 - 알고리즘 공부 - IT지식 글쓰기 / CS 글쓰기 - 프로젝트 완성 ----------------------------------------------------------------------------------------------------- 알고리즘 공부 - 병합 정렬(Merge Sort) 에 대한 공부 IT지식 글쓰기 / CS 글쓰기 - 연결 리스트(Linked List) 에 대한 공부 프로젝트 완성 - Board 부분 Pagination 구현(DB 연동, 상세 페이지...) ----------------------------------------------------------------------------------------------------- 프로젝트를 진행하는데 시간이 조금 .. 2023. 5. 15.
병합 정렬(Merge Sort) 합병 정렬이라고도 부르며, 분할 정복 방법을 통해 구현 분할 정복이란? 큰 문제를 작은 문제 단위로 쪼개면서 해결해나가는 방식 빠른 정렬로 분류되며, 퀵소트와 함께 많이 언급되는 정렬 방식이다. 퀵소트와는 반대로 안정 정렬에 속함 시간복잡도 평균최선최악 Θ(nlogn) Ω(nlogn) O(nlogn) 요소를 쪼갠 후, 다시 합병시키면서 정렬해나가는 방식으로, 쪼개는 방식은 퀵정렬과 유사 mergeSort function mergeSort(array, left, right) { if (left < right) { const mid = Math.floor((left + right) / 2); mergeSort(array, left, mid); mergeSort(array, mid + 1, right); me.. 2023. 5. 15.
728x90