일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- TDD
- IOS
- 스위프트
- 리액트
- 자바스크립트 자료구조
- 자료구조
- queue
- react
- 비동기
- HTML
- 계명대 이종호
- hokidoki
- hokeys
- 개발자
- SWIFT
- Hitit
- 호키도키
- 리액트 예제
- Svelte
- 계명대
- 이종호
- 자스민
- data structure
- javascript
- 개발
- jest
- 스벨트
- 힛잇
- 호키스
- Today
- Total
목록분류 전체보기 (205)
Dog foot print
hash table에 대한 포스팅을 조금 더 찾아봤는데 충돌이 일어날 경우 open adress 방식이나, seperate Chaining 방식으로 해당 충돌을 우회 해야한다고 다들 적어놓았지만 충돌이 일어나 다른 곳에 저장한 후 해당 key로 어떻게 data를 찾는지는 나오지 않았다. 그래서 해시테이블을 직접 만들어 보면 어떨까 싶어 해시테이블 2부를 만들게 되었다. 원시적인 해시테이블 function HashTable(){ let array = []; let size = 20; return { hashFunc(key){ let hashValue = key.length % size; return hashValue; }, add(key,item){ if(array[this.hashFunc(key)] !=..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/HUsno/btqw78NTv7A/VhNzD45QHwUSWkz7OZ6kPK/img.png)
포스팅 전 주저리 : 오늘 너무 포식한 것 같다. 자스민 사람들 중 생일 맞은 분이 치킨 한 턱 쏘시고 다른 분이 아이스크림케잌까지 먹었다... 다이어트는 물건너 간 느낌이다. ㅋㅋㅋㅋ . HashTable 이란 ? 해쉬테이블은 value가 key와 매핑되어 O(1)의 시간 복잡도를 가지고 value를 서치할 수 있는 자료구조이다. Hash Function 이란 ? HashTable은 key를 이용해서 value를 서치한다. 그런데 이 key는 string 타입으로 되어있기 때문에 배열에서 해당 키를 사용하려면 number형태로 만들어 index 처럼 사용해야 한다. 쉽게 생각해서 해당 key(string)가 배열에 index로 쓰게 숫자형태로 변환한다고 생각하면 된다. 그런데 여기에는 큰 문제가 있다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bauAtP/btqw8597h5P/lh6507BtvRcGK0BBYssr11/img.png)
포스팅 전 주저리 : 여자친구가 어제 아이패드 프로 1세대 중고를 구입했다. 구성도 알차게 있었는데, 내가 사용하는 6세대보다 훨씬 좋아보인다 ㅜ.ㅜ 나도 열심히 공부하고 돈 벌어서 모든 애플제품을 프로로 구입하는 프로앱등이가 될거다. ! 빠샤 삽입정렬이란 ? 배열의 1번째 index부터 배열을 순회하며 자신보다 높은 데이터 앞에 해당 key의 데이터를 넣는 정렬 알고리즘이다. 시간 복잡도는 O(n2) 이며 안정 정렬 알고리즘이다. 삽입정렬이 일어날 때 내부 1. 빨간글씨 key의 아이템이 전과 key 의 전 아이템과 비교한다. 2. key의 아이템이 작다면 왼쪽 방의 아이템들과 비교해서 작을때까지 배열을 이동하여 key의 아이템을 삽입한다. 1번째 인덱스 value = 2; [6,2,4,7,5,2] /..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/8Y5c5/btqw7dA0hui/EBhUuO9wf7hvh0ibtbJ4Ak/img.png)
포스팅 전 주저리 : 매직마우스2를 오래 사용하다 손목터널증후군 때문에 손모가지 날라갈뻔하다 결국 커세어 m65 Pro RGB로 바꾼지 1주일 되가는데 손목이 너무 편하다. 몇일전까지만 해도 핸드폰만 들고 있어도 손목에 통증이 느껴졌는데, 대 만족이다. Merge Sort란 병합정렬이라고도 불리는 합병정렬은 존 폰 노이만에 의해서 개발했다. 이 합병정렬은 Quicksort가 최악의 경우 (n2)의 시간 복잡도를 가지는데 반해, 최악의 경우에도 O(n log n)의 시간 복잡도를 가지는 안정정렬이다. 알고리즘 1. 인자로 넘겨 받은 배열을 배열의 길이가 1이 될 때 까지 반으로 쪼갠다. (분할) 2. 왼쪽과 오른쪽으로 나누어진 배열의 원소를 비교한 후 큰 수를 오른쪽으로 보내어 새로운 array를 만든다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kZJwJ/btqw3kOMIwj/0pUJPpjMPe1878GABpSs41/img.png)
포스팅 하기 전 메세지 : 여러분들 모두 더위 조심하세요 ~ 지난 학기에서 데이터베이스 수업을 들으며 소팅기법에 대해서 알고 있는 학생들이 두각을 보였다. 버블 소팅, 퀵소팅, 머지소팅, 해쉬테이블 이야기가 난무 하는데 어떤 소팅 기법인지 감이 오지 않았다. 나는 끽 해봐야 자바스크립트 Array.sort() 메서드나 이용해 봤지 내가 직접 소팅을 만들어 본적은 없기에 데이터베이스에서 서치와 정렬이 조금 낯 설게 느껴 졌다. 그래서 오늘 포스팅을 뭘 해 볼까 하다가 주말간 소팅에 대해서 공부해볼까 싶어 이렇게 행동으로 옮긴다. Quick sort란 찰스 앤터니 리처드호어가 개발한 정렬 알고리즘으로 배열 내부에 있는 item을 비교해 정렬을 수행하는 비교 정렬이다. - 위키백과발췌 퀵 정렬은 n개의 아이템..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bZINHK/btqw56nQ8eO/Lxg6K9QEJx3S97sbqe6fTk/img.png)
자바스크립트 이외에 언어에서 연결리스트가 가지는 이점은 배열처럼 고정된 크기를 가지는게 아니라 동적으로 크기를 조정 할 수 있는 것이 장점이다. 그렇다면 단순연결리스트와 원형연결리스트 보다 이중연결리스트가 가지는 이점은 무엇일까 ? 이중연결리스트란 ? 기존에 만들었던 연결리스트들은 모두 한 방향으로 이루어져 있다. 그런데 이중연결리스트는 L link 와 R link를 가지고 있어 해당 노드에서 전, 후 노드에 접근 하는 것이 가능케 된다. 이로인해서 헤드가 마지막에 연결되어있는 노드를 O(1) 의 복잡도를 가지고 찾을 수 있다. 멤버변수 class nodeType{ constructor(item){ this.data = item; this.lLink = null; this.rLink = null; } 이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SfNDv/btqw3jt4arf/fKDaAyhtJUCmms56c2klIK/img.jpg)
나는 집에서 아이맥을 사용하는데 번들로 딸려나오는 매직키보드2세대와 매직마우스2를 사용한다. 그런데 키보드가 키압이 너무 낮아서 그런지 손끝이 아프고 손목 또한 무리가 왔다. 그래서 클량에서 키보드를 추천 받은 결과 fc660c , 리얼포스r2, hhkb type s 를 추천 받았다. fc660c 를 제외하고는 많이 비쌋고 중고가 또한 높게 형성되어 있었다. 그래서 여러 유튜브를 검색하던 도중 fc660c가 가장 좋겠다는 판단하에 구매하였다. 사용감은 매우 좋았다. 특유의 초콜릿 부수는 키감이나 소리가 매우 만족스러웠으나 키감이 때때로 높다고 느껴졌고 이를 빌미 삼아 크라이 톡스 105 를 몬스터기어에서 주문하였다. //105를 주문한 이유는 105를 무접점 키보드에 많이 사용한다 해서이다. 104를 고..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/N4S5o/btqw4nQbluU/tpZ9MlchFSPkmlmkSsHbX0/img.png)
지난번 만들어 보았던 단순연결리스트는 마지막 node 가 null을 가리키고 있는 형태를 하고 있는데 오늘 만들어볼 원형 연결리스트는 마지막 노드가 항상 Head 노드를 가리키고 있어 노드의 링크를 타고 다시 처음으로 갈 수 있다는 이점이 있다. // 아직 원형연결리스트가 단순연결리스트보다 더 좋은 이점을 찾지를 못 찾겠다. 루프를 만들어 내부에 뭐가 있는지 순차적으로 감시하기에는 좋을 듯 하다. 원형연결리스트 필요한 멤버 변수 처음 만들어지는 head는 data로 head가 들어간다. constructor(item){ this.data = item; this.link = null; } 필요한 메서드 insertFirstNode(item) // node를 생성하고 head바로 앞에 넣는다. insertL..