일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 트리
- 클래스
- code
- query
- 내부 정렬
- 연결 리스트
- java
- 정렬
- 쿠키
- 마크다운
- mysql
- JsonNode
- 자료구조
- @ComponentScan
- 스택 큐 차이
- 빅 오 표기법
- 클린
- @NoArgsConstructor
- @RequiredArgsConstructor
- 마크다운 테이블
- 인터페이스
- WebClient
- 선형 리스트
- 리스트
- CleanCode
- 배열
- 코드
- 쿼리메소드
- 계산 검색 방식
- 클린코드
- Today
- Total
목록전체 글 (149)
Developer Cafe
역사 1950년 미국의 수학자 Stephen에 의해 개발되어, 초기엔 유닉스 계열에서 이용되어지다 현재는 java, python, js등에서 사용되고 있다. 패턴 // 안에 찾고자하는 텍스트를 넣고 뒷 / 뒤에 패턴을 입력한다 문법 ex) /gr(e|a)y/ 또는 /gr[ea]y/ ----------> grey, gray 가 찾아짐 ex) /gr(?:e|a)y/ 은 grey, gray 을 찾되 기억하지는 않는다 라는 뜻이다 ex) /gr[a-zA-B0-5]y/ 라는 뜻은 gray ~ grzy 까지 찾고 grAy ~ grBy까지 찾고 gr0y ~ gr5y 까지 찾는다 ※ 위의 /gr[a-zA-B0-5]y/의 반대는 /^gr[a-zA-B0-5]y/ 이다 ex) /gra?y/의 뜻은 a가 없거나 있거나 라는 ..
정렬된 배열([1, 3, 5, 9, 15])은 삽입, 삭제가 일반 배열([3, 5, 1, 15, 9])보다 거쳐야 되는 단계수가 더 많다. 그러나 선형검색(인덱스0부터 차례차례)대신 이진검색(100의 중앙 50찾고 50중앙 25찾고 점점 찾고자하는 값에 절반을 날려 단계수가 대폭 줄어듬)을 사용할 수가 있다. 결론 : 만들고자하는 서비스에 사용될 알고리즘이 데이터 검색은 거의 없고, 데이터를 추가하기만 한다면 일반 배열이 더 나을 수 있으나, 검색 기능이 더 많은 서비스를 구현할때는 정렬된 배열이 훨씬 낫다.
1. 배열의 인덱스는 0부터 시작하며 인덱스 0의 메모리 주소는 1010이다. 2. 인덱스 3은 인덱스 0부터 정확히 세 슬롯 뒤에 있다. 3. 따라서 인덱스 3을 찾으려면 1010+3인 1013 메모리 주소로 간다.
다항식 노드는 계수를 저장하는 coef와 지수를 저장하는 expo의 두 필드와 링크필드로 구성된다. coef expo link A(x) = 4x^3 + 3x^2 + 5x B(x) = 3x^4 + x^3 + 2x + 1 위의 두 식을 다항식 노드를 사용해서 표현하면 coef expo link coef expo link coef expo link 4 3 . 3 2 . 5 1 null coef expo link coef expo link coef expo link coef expo link 3 4 . 1 3 . 2 1 . 1 0 null
순차 선형 리스트는 논리적인 순서와 물리적이 순서가 같기 때문에 원소의 위치를 찾아 액세스하기 쉬우나, 삽인 삭제 후 원소들의 위치이동에서 많은 추가작업과 시간이 필요하다. 이러한 문제를 개선한 자료 표현 방식으로 연결자료구조(비순차 자료구조)가 있다. 연결자료구조는 노드를 사용하는데 노드는 데이터필드와 링크필드로 구성되어있다. data(원소) link(주소) 단순 연결 리스트 - 노드가 하나의 링크 필드에 의해서 다음 노드와 연결되는 구조를 가진 연결리스트 ex) 다음 연결리스트 월, 금 사이에 150[수][null]를 연결하려면 100 -> 100[월][200] -> 200[금][300] -> 300[일][null] 100 -> 100[월][150] -> 150[수][200] -> 200[금][300..