반응형 All57 자료구조 : 자바로 스택(Stack) 구현하기 스택이란 무엇인가. 위와 같이 한쪽이 막혀있는 형태의 자료구조로 생각하면 된다. 따라서 데이터의 삽입과 삭제가 스택구조에서 제일 꼭대기인 "TOP"에서만 이루어 진다. 이러한 특성때문에 제일 처음 들어온 데이터가 제일 마지막으로 출력되며 이것을 First In Last Out => FILO라고 표현하기도 한다. 자바로 구현하기 앞서 객체를 정의해보자. 1. Stack 이라는 객체가 있다. Stack은 "TOP" 즉, 꼭대기의 값을 기억하는 특성이 있다. 그리고 값을 삽입하는 push, 값을 출력하는 pop, 비어있는지 확인하는 isEmpty라는 세 가지 행위를 할 수 있다. 2. Stack 안에는 값을 기억하는 Node라는 객체가 있다. Node의 특성으로는 값을 가지며, 본인보다 바로 아래의 노드의 주.. 2020. 12. 21. ORACLE 쿼리 최적화 미세먼지 팁 - 1 1. 표현식, 함수, 계산식을 인덱스 컬럼에 사용하면 인덱스 사용은 불가능하다. Upper함수를 걸었을 때 인덱스를 못하고 Full 스캔한다. 2020-07-23 오전 10:07 - 화면 캡처 함수를 제거하고 그냥 돌리면 인덱스 스캔을 하게 된다. 2020-07-23 오전 10:08 - 화면 캡처 따라서 컬럼 자체에 함수를 걸지 말고 컬럼은 그대로 두고 조건식에서 맞춰줘야 성능이 더 좋다 즉, 이렇게 인덱스컬럼에 함수를 걸어 주지 말고 2020-07-23 오전 10:10 - 화면 캡처 인덱스 컬럼을 그대로 두고 식으로 같은 결과를 뽑을 수 있게 짜야 한다. 2020-07-23 오전 10:11 - 화면 캡처 2. WHERE 절에서 인덱스컬럼의 데이터 타입과 일치해서 식을 만들어라. VARCHAR2 타입의 .. 2020. 7. 23. Javascript 의 변수 선언과 데이터 할당 Javascript의 변수 선언과 데이터 할당 자바스크립트의 변수 선언에 따라 데이터가 어떻게 할당되는지 알아보자. var a = 'abc'; 라는 구문이 있다. 이에 따른 메모리 할당을 봐보자. 주소 … 1002 1003 1004 1005 변수영역 데이터 이름 :a 값 : @5004 변수영역 주소 …5002 5003 5004 5005 데이터영역 데이터 'abc' 데이터영역 변수영역과 데이터영역으로 공간이 분리되어 있고 변수영역에서 변수의 값은 데이터영역의 주소 값을 바라보고 있다. 이 변수 a의 값을 수정해보자. a = 'abcde'; 주소 … 1002 1003 1004 1005 변수영역 데이터 이름 :a 값 : @5005 변수영역 주소 …5002 5003 5004 5005 데이터영역 데이터 'abc'.. 2020. 6. 16. String을 쓰지 말라는 이유 모든 개발자가 알면서도 지키지 않는 것이 있다. 바로 문자열 관련 부분이다. String 클래스는 잘 사용하면 상관없지만, 잘못 사용하면 메모리에 많은 영향을 준다. 먼저 String 클래스를 잘못 사용한 사례를 보자. 음.. 약 5만번의 strSQL += 이라는 작업을 수행한다. 이를 여러번 돌려봤는데 거의 다 6초가 나왔다. 이는 각자 PC환경에 따라 시간의 차이가 있을 것이다. 단순히 String 작업만 했는데 이렇게도 오래 걸렸다. 그렇다면 해결방법을 찾아보자. StringBuffer 클래스와 StringBuilder 클래스 오늘의 주인공들이다. JDK 5.0 을 기준으로 문자열을 만드는 클래스는 이 두개가 가장 많이 사용된다. 여기서 StringBuilder 클래스는 JDK 5.0에서 새로 추가.. 2020. 6. 16. 이전 1 ··· 11 12 13 14 15 다음 반응형