본문 바로가기

정렬4

자바(java)의 정렬 알고리즘(버블, 선택, 삽입) 정렬 알고리즘. 기초적인 방법 : 버블정렬, 선택정렬, 삽입정렬 ***Array.sort()함수는 듀얼피봇 퀵정렬이라는 방식을 사용함. 가장 빠르고 효율적이지만 너무 어려운 내용이라 그냥 넘어간다. 버블정렬 가장 비효율적이지만 만들기 쉽고 간단해서 많이 쓰인다. 인덱스 0 부터 인덱스 끝까지 대/소를 비교하고, 만약 상대가 더 크거나 작다면 자신과 데이터를 교환하는 방식. 교환하고도 계속 비교 하지만, 이때도 기준은 인덱스다. 예를 들어보자. 배열 a[ ]를 오름차순으로 정리하고 있다. a[2]의 값을 a[3], a[4] ... a[n]까지 계속 비교하는 도중, a[10]이 자신보다 더 작다는 것을 발견했다. 그럼 이어서 a[2]의 데이터와 a[10]의 데이터를 맞교환한다. 그리고 이어서 바뀐 a[2]를.. 2023. 1. 23.
41일차 복습 sql 복습 기본 문법 select : 보여주고자 하는 column(열/세로값) 값을 선택 from : 테이블 선택. where : 조건문절. 조건문에 해당하는 row(행/가로) 만 선택. 테이블 만들기 DROP DATABASE IF EXISTS market_db; -- 만약 market_db가 존재하면 우선 삭제한다. CREATE DATABASE market_db; -- 데이터베이스 생성 USE market_db; -- market_db 선택 CREATE TABLE `member` ( `memberno` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `id` VARCHAR(50), `name` VARCHAR(50) ); 형식 : CREATE TABLE 테이블 이름 ( .. 2023. 1. 13.
30일차 복습 배열 *엄밀히 말하자면 자바스크립트의 배열은 배열이 아니다* 배열은 크게 밀집배열과 희소배열로 나눠진다. 다른 언어들에서 우리가 흔히 사용하는 배열은 밀집배열이지만, 자바스크립트에서 배열은 희소배열이다. 밀집배열(협의의 배열) 1. 하나의 데이터 타입으로만 이뤄진 배열이다. 2. 메모리에 연속하여 나열된 자료구조다. 3. 요소의 추가, 삭제가 어렵다. 4. 연속적이기에 빠르다. 희소배열(광의의 배열) 1. 하나 이상의 자료형을 허락하는 배열이다. 2. 한 자료가 차지하는 메모리 공간이 불규칙(불연속)할 수 있다. 3. 요소의 추가 삭제가 쉽다. 4. 연속적이지 않아 느리다. 즉, 대다수의 경우 자바스크립트의 배열은 Key를 Index로 가진 Map 이다. 그렇기에 인덱스 값 대신 문자열을 넣어도 오류가 .. 2022. 12. 25.
24일차 복습 flex속성 최근 새로 나온 속성으로, 박스(컨테이너)들의 원활한 배치를 위해 만들어졌다. 우리가 웹사이트에 메뉴창(nav창)을 만들거나, 링크를 걸거나, 그 외에도 어떤 기능이 있는 버튼(글자)을 만들 경우, 대부분은 보기 편하게 어떤 방식으로든 정렬되어 있다. flex속성은 이런 정렬을 쉽게 해주기 위해 만들어졌다. 만약 flex속성이 없다면 position을 absolute로 지정해 좌표를 지정해주거나 float속성으로 일일이 정렬해야 할것이다. flex의 기본 개념 flex는 간단히 말해 컨테이너 태그를 크게 세로축, 가로축으로 나눠서, 사용자의 편의에 맞게 정렬할수 있게 해주는 속성이다. 이때, 컨테이너의 내용물( 이해하기 쉽게 div형태의 박스라고 가정하자)의 height 속성을 컨테이너의 높.. 2022. 12. 15.