자신에게 친절할 것 :)
728x90
반응형

2024/03/15 12

[Algorithm & Data Structure] Hash Table

// "Normad Coder의 알고리즘과 데이터 구조 강의" 듣는 중// ​ 오랜만에.. 데이터 구조.. 정처기도 따야 하는데.. 요새 정말.. 너무 게으르다. Hash Tables 매우 중요한 자료구조 Key Value System을 이용하여 자료를 정리. 예, 사전 ; 단어를 찾고 = key, 해당 단어의 뜻과 설명 = value ​ array는 선형 검색이라서 오래걸림. --> O(n) => name을 하나씩 비교해야 해서 n수가 증가하면 오래걸림 ​ hash table은 key랑 value만 있어서 --> O(1) => 어떤 메뉴를 찾아도 소요되는 스텝은 1개 array보다 엄청 빠름. array보다 value로만 작업하는 걸 선호함. true가 value가 되는 것 그러면 태국 찾는데 딱 1스..

Algorithm, Data 2024.03.15

[Algorithm & Data Structure] Sorting Algorithm

/ "Normad Coder의 알고리즘과 데이터 구조 강의" 듣는 중// ​ Big O는 알고리즘의 퍼포먼스를 이해하기 쉽게 효율적으로 작성하는 방법 but, 모든 알고리즘을 완벽하게 설명 x 같은 Big O를 갖더라도 퍼포먼스는 매우 다를 수 있음. ​ sorting 정렬: 뭔가를 정리하는 것 이진 검색처럼 빠른 검색을 하려면 무조건 배열을 "정렬"해야 함 buble, seleciton, insertion이 가장 빠른 정렬은 아니지만 일단 쉬운 것들임. 실제로 사람들이 정렬하는 방법과 유사함. 시간 복잡도 계산도 쉬움 ​ ​ 1. Buble Sort 버블 정렬 사실 딱히 좋은 알고리즘이 아니라서 많이 사용 x 근데 이해하기 좋음 맨 앞에 2개의 아이템을 선택하고, 그 2개 값을 비교함. 만약에 L, R..

Algorithm, Data 2024.03.15

[Algorithm & Data Structure] Big O notation

// "Normad Coder의 알고리즘과 데이터 구조 강의" 듣는 중// ​ Big O notation(표기법) ​ 알고리즘의 스피드를 표현하는 방식. 빠르다, 느리다, 초로 표현 x --> 완료까지 걸리는 절차(steps)의 수 so, 적을 수록 좋음. 예, linear search는 순서대로 해서, 10개면 10step 필요. => input size = N --> N steps => 선형 검색의 시간 복잡도 = O(N) ​ 1. Constant Time (상수 시간) => O(1) Array =["kimchi1", "pizza2", ... ,"galbi100"]; def print_first(arr): print(arr[0]) //kimchi1 이 코드는 배열의 수가 10개든 100개든 무조건 1..

Algorithm, Data 2024.03.15

[Algorithm & Data Structure] 검색 알고리즘 (Binary Search & Linear Search)

// "Normad Coder의 알고리즘과 데이터 구조 강의" 듣는 중// ​ 데이터 구조를 선택하는 것처럼 어떤 알고리즘을 선택할 지도 고민해야 함. 그 합이 중요하니까. 알고리즘은 작업을 실행하기 위한 단계의 리스트! 레시피처럼 시간 복잡도에 따라서 적은 step이 언제나 better ​ Search Algorithm Binary Search & Linear Search 검색을 최대한 빨리하는 것이 목적. ​ ​ Linear Search(선형 검색 알고리즘) 검색에서 가장 자연스러운 것, 어느 배열에서나 쓸 수 있음. 1번 아이템부터 순서대로 목표를 찾음. but, 최악의 시나리오는 찾는 항목이 배열에 끝에 있거나, 배열에 아예 없는 경우 => 배열이 커질수록 선형 검색을 하는 시간이 길어짐. => ..

Algorithm, Data 2024.03.15

[Algorithm & Data Structure] Array

// "Normad Coder의 알고리즘과 데이터 구조 강의" 듣는 중// ​ time complexity, 시간복잡도 데이터 구조의 오퍼레이션 또는 알고리즘이 얼마나 빠르고 느린지 측정하는 방법. 초나 분같은 실제 시간 단위의 측정이 아님. 얼마나 많은 단계step이 있는 지로 측정하는 것. so, 단계가 적을수록 빠름! 만약 어떤 오퍼레이션이 5단계만 요구되면, 20단계가 요구되는 알고리즘보다 훌륭한 것. ​ meomory 메모리 관점에서 데이터를 보자. 2종류. volatile(휘발성) vs. non-volatile(비휘발성) 메모리 non-volatile(비휘발성) 메모리: 하드 드라이브 같은 것. 껐다가 켜도 데이터가 계속 있음. volatile(휘발성) 메모리: 램(RAM, random acc..

Algorithm, Data 2024.03.15

[Algorithm & Data Structure] 알고리즘과 데이터 구조

// "Normad Coder의 알고리즘과 데이터 구조 강의" 듣는 중// ​ 알고리즘(algorithm) = 여러 지시문의 합 부대 찌개 요리의 알고리즘(순서)와 같이 빠르고 효율적으로 만들어주는 지시문의 합이다. 예, path finder algorithm --> 네비게이션, compression algorithm --> 이미지를 손상없이 어떻게 압축하는 지 so, 내 코드에 가장 적합한 알고리즘을 적용한다면 더 좋을 듯. 데이터 구조(data structure) = 데이터를 정리하는 것 너무 종류가 많아서 언제, 어떻게, 정확하게 쓸 수 있는 지가 속도와 효율성을 높여줌. 예, linked list vs. arrays 4가지 상황을 염두 할 것: search, read , insert, delete..

Algorithm, Data 2024.03.15

[Java] printf()의 지시자

// 남궁성의 자바의 정석 기초편 듣는 중// ​ 진수는.. 진짜 빨리 익숙해 져야 할 거 같애.. 어리버리 얼레벌레인데.. 너무 헷갈려.. 출력형식 지정을 위해서 printf() 선호 ​ 지시자의 개수 만큼 값을 써줘야 함. 개행문자로 줄 바꿈을 해주는 데 os 종류에 따라서 \n 이 안 먹힐 때도 있어서, %n을 쓸 것. ​ ​ 이진문자열 변환은 잘 사용x 출력 시, 접두사는 안 나오는 데 붙이고 싶으면 '%#접두사' 넣어 주기 실수는 주로 f인데 이건 정밀도가 7자리라서.. 그보다 아래 수는 정확하지 않고, 마지막 수는 대개 반올림. %e --> 지수 형식으로 e+02 = 10^2 간략한 형식 %g는 대개 f를 사용해서 7자리로 나타냄. 0으로 나타내는 게 더 편해 보이면 %e로 나타냄. 근데 사실..

Web Developing/Java 2024.03.15

[Java] 변수, 상수, 리터럴

// 남궁성의 자바의 정석 기초편 듣는 중// ​ 왜 처음에 자바부터 하지 말라는지.. 알겠음.. 너무 재미가 없어.. 결국.. js 강의도 동시에 .. 듣는 중.. println() 줄 바꿈 print() 줄바꿈 안함 fn + cmd + f11 실행 단축키 ​ ​ 상수는 값 변경X,final int 리터럴 literal 상수와 구별하려고 그 자체 값을 의미하는 것. ​ 접미사는 정수형 Long에 붙이는 L하고, 실수형 float에 붙이는 f만 신경 실수형은 2개 밖에 없어서 double의 d는 거의 뗌 접미사는 대소문자 구별 x 줄바꿈 문자 -> 개행 문자 '\n' --> 탭이나 백스페이스는 앞에 \ 붙여서 표현 초록색 --> f, d, ., e 가 있으면 실수형 리터럴임. 0이 생략되어있더라도 출력 ..

Web Developing/Java 2024.03.15

[Java] 단축키

// 남궁성의 자바의 정석 기초편 듣는 중// ​ ..... 옛날 강의고.. 맥에 대한 고려가 없기 때문에.. 이상하다 싶으면 꼭 댓글을 확인하시길 추천합니다... ​ 프로그램들이 많이 변경되어서,, 걍.. 댓글을 자주 보세요. cmd+shift+L 단축키전체 목록 cmd + d 한 줄 삭제 cmd + opt + shift down 행단위 복사 --> 충돌 시 불편하면, preference 없으면 cmd +, 눌러서 수정 할 것 멀티 컬럼 : opt + cmd + A 누르고 shift눌러서 아래로 누르기 opt + up, down 누르면 행단위 이동 cmd+i 들여쓰기 맞춰줌 shift + tab 내어쓰기 cmd +/ 주석(토글) 여러줄은 /* */ 자동 완성 : opt + space 예,sop 자동 완..

Web Developing/Java 2024.03.15
728x90
반응형