돌공공돌

22-04-15 (데이터 구조) 본문

2022-1

22-04-15 (데이터 구조)

오로시 2022. 4. 15. 19:30

Linked List 관련 연산

 

add_to_head() //head위치에 한 개의 원소 추가

add_to_tail() // tail 위치에 한 개의 원소 추가

delete_from_head()// head 위치의 한 개 원소 삭제

num_nodes() //현재의 Node 수 확인 --> traversal

double score_sum() // 현재 list 모든 node의 score합 return

double get_score(string t_name) // t_name으로 주어진 name의 score return

int remove_a_node(string t_name) // t_name에 해당하는 node 삭제, 성공하면 1 , 실패하면 0 return

is_empty() // node비어있는지 확인

invert() // 역순으로 재배열 하라

list_equal() // 두 리스트가 같은지 판단

 

이 연산들 자유자재로 다룰 수 있게 연습 필요함

 

 

---------------------------------------

 

시간 복잡도 ( ~21:49) 1시간 20분 딜레이 ㅠ

 

---------------------------------------

 

recursion (20:25~20:50)

팩토리얼

1부터 n까지의 합

피보나치 수열

1에서 n 까지 정수 범위에서 짝수의 합

주어진 array의 앞 쪽 n개의 원소의 합

순열

주어진 두개의 정수의 최대 공약수

주어진 array n개 원소 중 가장 큰 값 찾기

 

--------------------------------------

string class (20:50~21:15)

 

#include <cstring>

strcpy --> 복사 , 뒤에 있는 것을 앞에

strcat  --> 두 스트링 합쳐주기

strcmp --> ascii code comparison

 

#include <string>

크기조정이나 size 신경 안써도 된다.

 = : assignment

+ : concatenation 

== , !=  : equaility test

a char 와 연산 가능

 

string member function

constructor

string st;

string st("test")

string st2(st1);

insert

st1.insert(3,"pp") //3번째 위치에 끼워 넣을 것

st1.insert(3,"program",4,2) //3번째 위치에 program 중 4번째부터 2문자를 넣을 것

replace

덮어씌우기

erase

size (cf strlen #include <string> 에서는 안된다.

 

//
//  main.cpp
//  Recursion
//
//  Created by 이찬휘 on 2022/04/15.
//

// n 보다 작은 짝수의 합을 구하자.
#include <iostream>
using namespace std;

int even_sum(int n){
  if(n%2==0){
  if (n==2)
    return 2;
  else
   return n + even_sum(n-2);
    }

  else{
    if(n-1 == 2)
      return 2;
    else
      return (n-1) + even_sum(n-3);
    }
}

// 주어진 array 앞쪽 n개의 원소의 합
int array_sum(int *a , int n){
    if ( n-1 == 0 )
        return a[0];
    else
        return a[n-1] + array_sum(a , n-1);//함수 새로이 recall 해야 하니까 n-2 하면 안되고, n-1 하는게 맞지
}

int main() {
    // n 보다 작은 짝수의 합을 구하자.
  cout<<even_sum(4) <<endl;
  cout<<even_sum(9) <<endl;
    // 주어진 array 앞쪽 n개의 원소의 합
    int a[10] ={1,2,3,4,5,6,7,8,9,10};
    cout << array_sum(a,4)<<endl;
    
#include <string>
    string st1 = "program";
    string st2 = "qzqzqzzqz";
    string st3("koreanzombie");

    
    st1.insert(3,"pp"); //3 index 위치에 끼워 넣을 것 --> proppgram index 3 위치에 넣는 것이다.!!

    st2.insert(3,"program",4,2); //3번째 위치에 program 중 4번째부터 2문자를 넣을 것 -->qzqrazqzzqz
    st3.erase(3,2);
    
    cout << st1 << endl;
    cout << st2 << endl;
    cout << st3 << endl;
    cout << st1.size() << endl; // 글자가 9개라 9 출력
}

--------------------------------------------------

infix to prefix

infix to postfix

infix to postfix : stack 알고리즘 공부하기 (~22:30)

 

우선순위가 더 큰게 더 왼쪽에 있다. (01:46😢)

 

--------------------------------------------------

 

통계학

블랙스완이랑 나이팅게일 사람 이름,, 이 파트 다시 공부해 보라는데?

 

통계학 문제 풀이

베이즈 정리 문제

한글로 된 문제 파일

 

7주 정리

 

 

----------------------------------------------------

tree -->취약

EAP ESSAY

 

 

'2022-1' 카테고리의 다른 글

22-04-16 (통계학)  (0) 2022.04.16
22-04-16  (0) 2022.04.16
22-04-15 (데이터 구조 중간시험) D-3  (0) 2022.04.15
22-04-15 (데구-통계 D-4 , 선대-물실 D-6 ,데과 D-7)  (0) 2022.04.15
22-04-14 (데구, 통계 D-4)  (0) 2022.04.14
Comments