iT邦幫忙

0

寫程式前就該懂得演算法-讀書筆記1

yuyu 2018-01-29 16:01:2516169 瀏覽

演算法概述

演算法(Algorithm)是為完成任務而下達的一組提示,每一個程式碼都是一種演算法。

O(Big O Notation):演算法的執行時間,不以秒計算

常見的大O五種執行時間

  • O(log n):對數時間(log time),二進位搜尋
  • O(n):線性時間,如簡易搜尋
  • O(n * log n):
  • O(n平方):
  • O(n!):旅行推銷員問題

旅行推銷員問題:找出連接X點之間最短的一條路線

什麼是效能

如何解決問題

  • gameboy user → 使用圖形演算法追蹤使用者的AI系統
  • KNN → 推薦系統
  • NP-Complete Problem(NP完整問題)

二進位搜尋(Binary Search)

每次搜尋都都從中位數開始猜,每次都剔除一半的數字
原理:input 是一組排序後的元素清單,如果要尋找的元素在清單中,二進位搜尋就回傳該元素的位置,否就回傳null

dumb way:每猜一次只剔除一個數字


尚未有邦友留言

立即登入留言