일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- 딥러닝
- I'm Sorry
- 프로그래밍
- 컴퓨터과학
- 사이버보안
- 자바스크립트
- 네트워크보안
- 데이터구조
- 데이터분석
- 버전관리
- 소프트웨어
- 코딩
- 머신러닝
- Yes
- 빅데이터
- 알고리즘
- 컴퓨터비전
- 데이터베이스
- 데이터과학
- 프로그래밍언어
- 인공지능
- 컴퓨터공학
- 2
- 클라우드컴퓨팅
- 소프트웨어공학
- 웹개발
- 네트워크
- 보안
- 파이썬
- Today
- Total
목록부작용 (2)
스택큐힙리스트
목표 나는 순수 함수적인 방식으로 라운드 로빈 알고리즘( https://en.wikipedia.org/wiki/Round-robin_scheduling )을 만들려고 하고있다. 이 함수는 다음과 같은 배열을 받아들이도록 되어있다: [ [ 1, 2 ], [ 3, 4 ] ] 그리고 다음 출력을 생성해야 한다: [ 1, 3, 2, 4 ] 코드 이를 위해 나는 다음과 같이 재귀적으로 라운드 로빈을 구현하기로 결정했다: const roundRobin = (arr, results) => { if (arr.length === 0) return results; const newResults = arr.reduce((acc, current) => { if (current.length > 0) { acc.results.p..
일부 레거시 코드를 디버깅하는 동안 기이한 (내게는) 컴파일러 동작을 발견했습니다. 이제 C++ 사양에 어떤 절이 다음과 같은 최적화를 허용하는지 알고 싶습니다. 여기서는 for-조건에서 함수 호출의 부작용이 무시되는 경우입니다: void bar() { extern int upper_bound; upper_bound--; } void foo() { extern int upper_bound; // 다른 번역 단위에서 가져온 것으로 초기값은 대략 10입니다 for (int i = 0; i < upper_bound; ) { bar(); } } 결과적으로 어셈블리어에서 upper_bound가 레지스터에 유지되고 bar()에서의 upper_bound 감소가 영향을 미치지 않는 제어 경로가 있습니다. 제 컴파일러는..