일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴활 1급
- IRC 서버
- 라즈베리파이
- 리눅스
- 웹 만들기
- 명령어
- 리눅스 사용자
- 블로그 만들기
- 서버 백업
- git branch
- OverTheWire
- 리눅스 커맨드
- batflat
- java
- 서버
- date
- 커맨드
- git merge
- github command
- 라즈베리 파이
- 컴퓨터 활용능력
- windows10
- 라즈베리
- github
- 라즈베리파이 실습
- 웹 서버
- 우분투 설치
- 웹 유저
- 웹사이트
- Linux
- Today
- Total
돌공공돌
2022-04-11 본문
자가진단키트 검사 결과 양성 2일차
여러모로 참 힘든 날들 인데, 왜 힘들지 않지?ㅋㅋㅋㅋ;;;
불편하긴 하지만, 멘탈은 여전히 좋다..
강의
데이터과학 과제4 5번 문제
데이터과학 과제 4 10번 문제
데이터구조 강의
통계학 --> 뭘 해야 할까
선형 대수학 강의
팀플 ( 22:00~)
남은 과제
데이터 과학 HW5
EAP Essay
과제를 위한 공부 말고 시험을 위한 공부를 해야할 시간이다.
공부
데이터구조 오늘 강의 공부 & 전에 배운 내용 복기
선형대수학 문제풀이 과제 점검 교과서 읽기( 개념 정리)
---------
데이터 구조 공부 정리
-1주차-
software 개발의 단계
요구사항 분석
설계
구현
검증
algorithm 설계 및 구현
주어진 n 개의 정수를 크기 순서대로 정렬 (sort) 하는 예제 있었음!
selection sort 하는 알고리즘
1. 가장 작은 값의 Index 를 찾는다.
첫번째 원소가 가장 작다고 가정하고, for문으로 i 를 1씩 증가시키면서 가정한 값보다 작은지 판단
2. 첫번째 원소와 가장 작은 값의 위치를 변경한다.
void selection_sort(int list[], int n)
{
int i ,j, min, t
for (i=0;i<n;i++) {
min = i;
for(j=i+1;j<n;j++)
if (list[j] < list[min])
min = j;
t=list[i];
list[i] = list[min];
list[min] = list[i];
}
Data type의 종류
int, char, float, double
wchar_t --> 16비트 문자 <세계 각국의 언어>
bool : true/false
Type modifier
unsigned/signed --> unsigned 부호 구분이 없는!
long, short
long double : 80bit
Operators
++, -- 는 정수에만 쓸 수 있다.
++,--는 단일 연산일 때는 동일하지만, 다른 연산자랑 함께 쓸때는 달라짐
a+ ++x; --> 증가시키고 나서 적용
a + x ++ ; --> 적용하고 나서 증가
++, -- 동일문장에서 동일변수에 2회 이상 쓰지 말것
Bitwise operator : &, | , ~ , >> , << --> 비트단위로 하는 연산
프로그램의 기본 제어구조
if-else statement
switch statement --> break없으면 내리수행한다.
switch(X) {
case 1 : ~~ break;
case 2 : ~~
case 5 : ~~
default : ~~ // x 에 해당하는 게 없을 때 실행한다.
}
while statement
for statement
break와 continue의 사용
break : loop 한 겹 빠져나오기
continue : 아랫부분 생략하고, 다음회차의 loop을 실행하라. --? 나이거 잘 못 다룸, 유용한 것 같은데.. ?
-------------
2주차
Algorithm efficiency
Time complexity : 알고리즘의 수행시간에 대한 효율성을 평가하는 척도
수행시간 : A n^2 + B n + C
n에 대한 2차 함수에 비례하여 실행 시간이 증가한다. --> 표기 O(n^2)
Big-O notation
O(1) : n에 영향을 받지 않고, 항상 일정 시간에 완료하는 경우
O(log n) : n의 log 함수에 비례하여 실행시간이 증가
for(i =1 ; i < n ; i = i *2){
statements;
}
O(1) < O(log n) < O(n) < O(nlogn) < O(n^2) < .... < O(2^n)
Stacks : LIFO
Push , Pop
Pop하는 원소가 가장 마지막 원소
Linear list의 한쪽 끝에서 Push 와 Pop이 이루어진다
Stack 관련 연산
create_stack // 초기 empty 상태
push // stack에 원소 추가
pop // stack에서 원소 한개 가져옴 stack 에서 해당 원소는 제거 됨
full_check // 현재 stack 이 full 인지 여부 check
empty_check // 현재 stack이 empty인지 check