《算法圖解》讀書筆記

  1. 關於分地問題
    1. 就是給定一個x*y的一塊矩形的土地,求你怎麼把它分成一塊一塊形狀大小相同的正方形土地,使得得到的土地面積爭取最大。
    2. 這個問題與求兩個數x、y最大公約數的問題相似。
    3. 設x爲較大的一條邊,則通過無限次計算x , y = y, x%y,直到x%y=0爲止,此時就得到了可分成的最小土地的邊長y
    4. 如一個長爲1680,寬爲640的土地,計算過程如下
      • x=1680 y =640
      • x=640 y=1680%640 =400
      • x=400 y=640%400=240
      • x=240 y=400%240=160
      • x=160 y=240%160=80
      • 此時x%y=160%80=0 故停止
      • 最小土地的邊長是80
  2. 緩存技術的應用
    1. 優點
      • 用戶能夠更快地看到網頁,服務器記住了用戶常用的信息,下次用戶申請使用時,不用再計算,而是直接從緩存中取出,顯示給用戶,減少了很多時間。
      • 服務器需要做的工作更少了,減輕了服務器負擔。
    2. 緩存的數據通常存儲在散列表中,服務器不僅緩存主頁內容,還緩存其它頁面的,故可通過url在散列表中的映射,找到相應的緩存數據。
  3. KNN(K最近鄰算法)
    1. 對樣本的特徵進行提取,通過比較計算,將距離最近的歸爲一類,或稱爲相似樣本。
    2. 計算兩點間距離,可使用畢達哥拉斯公式:
    3. 可應用於如電影推薦,通過對用戶分析,其對不同種類電影的喜歡程度爲各個特徵向量,通過計算他與其他用戶的“距離”,可以找到跟他相似的人羣,看這些相似人羣喜歡什麼電影,就可以給這個用戶推薦什麼電影。當然也可用於評分預測,比如可以將這些相似用戶打的平均分當做該用戶的打分。
    4. 故有3可知,KNN可用於分類和預測的問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章