BFS, DFS, 최선우선탐색, 휴리스틱 알고리즘, a* 알고리즘 3X3 8퍼즐 공부
퍼즐 맞추기인데 교수님이 억까 코드로 실습하라고 했음... 그래서 일단 억까코드 수정하고 저렇게 만들어봤는데 bfs는 교수님 원본 코드에서 딱히 바뀐건 없고 주석이랑 조건문 위치랑 moves 프린트 수정했고 dfs는 실습이었는데 저렇게 만드는게 맞나 모르겠다.. 일단 무한적으로 탐색하던건 조건문 위치랑 조건 수정해서 고쳐졌고 set으로 중복체킹하는데 시간복잡도 O(1)로 수정함 BFS class State: def __init__(self, board, goal, moves=0): self.board = board self.moves = moves self.goal = goal # i1과 i2를 교환하여서 새로운 상태를 반환한다. def get_new_board(self, i1, i2, moves): n..
운영체제 (1) ~ (3) 주차 학습 노트
운영체제 실체가 있는 소프트웨어 사용자와 하드웨어 사이에서 중계 역할을 하면서, 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어 컴퓨터의 자원을 독점적으로 관리하는 소프트웨어 운영체제의 속성 컴퓨터 자원 관리 하드웨어 자원 - CPU, 캐시, 메모리, 키보드, 마우스.... 소프트웨어 자원 - 응용프로그램 데이터 자원 - 파일, DB 자원 독점 독점 : 자원에 대한 접근과 관리 권한이 오직 운영체제에 있다는 뜻 (자원 할당, 자원 공유, 자원 액세스, 자원 입출력) 관리자 프로그램 관리, 메모리 관리 소프트웨어 커널(관리 기능을 수행하는 핵심 코드), UI, 도구 프로그램 운영체제 목적과 기능 운영체제의 목적(목표) 사용자의 컴퓨터 사용 편리성 자원의 효율적 사용과 관리 운영체제 기능 CPU/프로세..
프로그래밍 입문 학습 노트 (1)
컴퓨터 기초 과거 사람들의 계산 방법 주판 -> 천공 카드 -> 기계식 계산기 -> 컴퓨터 컴퓨터의 발전 단계 역사 1세대 2세대 3세대 4세대(~ 현재) 5세대(미래~) 6세대 진공관 트랜지스터 직접 회로 (IC) 고밀도 직접회로 인공지능과 대화 자기 코어 자기코어 IC, 자기 코어 vlsi, lsi 음성 명령 자기 드럼 자기 디스크 자기 디스크 자기 디스크 초고속 장치 천공 카드 천공 카드 키보드, 마우스 대규모 병령처리 시스템 애니악, 에드박 IBM 논리적 추론을 지원하는 연산기능 기계어, 어셈블리어 포트란, 코볼 파스칼, 베이직 객체지향언어 논리프로그램, 인공지능기법, 병렬처리 개념을 내포하는 추상적 언어 제공 다중 프로그래밍 방식 소프트웨어 체계 확립 운영체제 방식 시분활, 바이트 단위 컴퓨터 ..