ParkDongJo / computer_science

___๐Ÿ–Š์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

์ปด๊ณต ์›๋ก  ์ •๋ฆฌ

ํ•ด๋‹น repository๋Š” ์ปดํ“จํ„ฐ๊ณตํ•™์— ๊ด€ํ•œ ์ด๋ก ๊ณผ ๊ฐœ๋…์„ ์Šค์Šค๋กœ ํ•™์Šตํ•˜๊ณ  ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

์ž๋ฃŒ๊ตฌ์กฐ

1) ์ž๋ฃŒ๊ตฌ์กฐ๋ž€
2) ์ •๋ ฌ
3) ์Šคํ…
4) ํ
5) ํŠธ๋ฆฌ
6) ํž™
7) ๊ทธ๋ž˜ํ”„
8) ๋‹ค์ต์ŠคํŠธ๋ผ.ํฌ๋ฃจ์Šค์นผ,ํ”„๋ผ์ž„
9) ํ•ด์‰ฌ

์ž๋ฃŒ๊ตฌ์กฐ๋ž€

Data Structure = Data + Interface

์ž๋ฃŒ(Data)์˜ ์ง‘ํ•ฉ์˜ ์˜๋ฏธํ•˜๋ฉฐ, ๊ฐ ์›์†Œ๋“ค์ด ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ •์˜๋œ ๊ทœ์น™์— ์˜ํ•ด ๋‚˜์—ด๋˜๋ฉฐ ์ž๋ฃŒ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž๋ฃŒ๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ‘œํ˜„

  • ์ถ”์ƒ์  ์ž๋ฃŒํ˜• ex> Stack,Queue,Tree,List,Heap,Set,Bag,Graph ...

  • ๊ตฌํ˜„์ฒด ex> Array, Linked-list

    1. Array [ A, B, C] -์žฅ์  : ๋ฉ”๋ชจ๋ฆฌ์— ๋ณด๋‹ค ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์žฌ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ์— ์œ ๋ฆฌํ•˜๋‹ค -๋‹จ์  : ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€,์‚ญ์ œ ์‹œ ๋น„์šฉ์ด ๋“ ๋‹ค. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋‚ด์˜ ๋ฐ์ดํ„ฐ ๊ณต๊ฐ„ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ

    2. Linked list A->B->C -์žฅ์  : ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€,์‚ญ์ œ๊ฐ€ ํŽธ๋ฆฌํ•˜๊ณ  ์‰ฝ๋‹ค. -๋‹จ์  : ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์†Œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ ์‹œ ํ•œ๊บผ๋ฒˆ์— ๋กœ๋“œ ์‹œํ‚ฌ ์ˆ˜ ์—†์–ด ์ฝ๊ธฐ ์†๋„๊ฐ€ ์ €ํ•˜ ๋  ์ˆ˜๋„ ์žˆ๋‹ค.

ADT(Abstract Data Type)

์ถ”์ƒ์  ์ž๋ฃŒํ˜•
  • SET, BAG
  • LIST
  • STACK
  • QUEUE => ์šฐ์„ ์ˆœ์œ„ ํ, ์›ํ˜• ํ
  • TREE => ์ด์ง„ํŠธ๋ฆฌ,์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ,์ž๊ฐ€ ๊ท ํ˜• ์ด์ง„ํŠธ๋ฆฌ, AVLํŠธ๋ฆฌ, ๋ ˆ๋“œ๋ธ”๋ž™ ํŠธ๋ฆฌ,B ํŠธ๋ฆฌ
  • GRAPH => Kruskal, Prim, Dijsktra
  • HEAP
  • HASH

์•Œ๊ณ ๋ฆฌ์ฆ˜

1. Devide & conquer
    - binary search
    - merge sort
    - Quick sort
    - Strassen's Matrix Multiplication
2.Dyramic programming
    - Binomial coefficient
    - Floydis algorithm
    - Optimization problem
    - TSP
3.The Greedy Approach
    - MST
    - Dijkstra's
    - Scheduling
    - Huffmun Code
    - Knapsack problem
4.Back Tracking
    - n-Queen Problem
    - Monte Carlo
    - Cdoriny numitonian ciruit

์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€

Algorithm = The step-by-step procedure for solving problem

์–ด๋– ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๋™์ž‘๋“ค์˜ ๋ชจ์ž„์ด๋‹ค. ์œ ํ•œ์„ฑ์„ ๊ฐ€์ง€๋ฉฐ, ์–ธ์  ๊ฐ€๋Š” ๋๋‚˜์•ผ ํ•˜๋Š” ์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์Œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

์ž…๋ ฅ : ์™ธ๋ถ€์—์„œ ์ œ๊ณต๋˜๋Š” ์ž๋ฃŒ๊ฐ€ 0๊ฐœ ์ด์ƒ ์กด์žฌํ•ด์•ผํ•œ๋‹ค.
์ถœ๋ ฅ : ์ ์–ด๋„ 1๊ฐœ ์ด์ƒ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด์–ด์•ผ ํ•œ๋‹ค.(์ฆ‰ ๋ชจ๋“  ์ž…๋ ฅ์— ํ•˜๋‚˜์˜ ์ถœ๋ ฅ์ด ๋‚˜์˜ค๋ฉด ์•ˆ๋จ)
๋ช…ํ™•์„ฑ : ์ˆ˜ํ–‰ ๊ณผ์ •์€ ๋ช…ํ™•ํ•˜๊ณ  ๋ชจํ˜ธํ•˜์ง€ ์•Š์€ ๋ช…๋ น์–ด๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•œ๋‹ค.
์œ ํ•œ์„ฑ(์ข…๊ฒฐ์„ฑ) : ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ช…๋ น์–ด๋“ค์€ ๋์ด ์žˆ๋Š” ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ํ›„์— ์ข…๋ฃŒํ•ด์•ผ ํ•œ๋‹ค.(์ถœ์ฒ˜-๋™์•„์ถœํŒ ์ค‘ํ•™๊ต ์ •๋ณด์ฑ… ๋‚ ์งœ-2017-7-11)
ํšจ์œจ์„ฑ : ๋ชจ๋“  ๊ณผ์ •์€ ๋ช…๋ฐฑํ•˜๊ฒŒ ์‹คํ–‰ ๊ฐ€๋Šฅ(๊ฒ€์ฆ ๊ฐ€๋Šฅ)ํ•œ ๊ฒƒ์ด์–ด์•ผ ํ•œ๋‹ค.

About

___๐Ÿ–Š์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ


Languages

Language:Java 47.4%Language:JavaScript 29.3%Language:Kotlin 22.2%Language:TypeScript 1.1%