日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【算法】开篇

發布時間:2023/12/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【算法】开篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

最近出一系列算法的博客,以供復習。今天先列出一個綱,明天開始寫!

什么叫算法

算法(algorithm),在數學(算學)和計算機科學之中,為任何一系列良定義的具體計算步驟,常用于計算、數據處理和自動推理。作為一個有效方法,算法被用于計算函數,它包含了一系列定義清晰的指令,并可于有限的時間及空間內清楚的表述出來。

算法中的指令描述的是一個計算,當其運行時能從一個初始狀態和初始輸入(可能為空)開始,經過一系列有限而清晰定義的狀態最終產生輸出并停止于一個終態。一個狀態到另一個狀態的轉移不一定是確定的。包括隨機化算法在內的一些算法,都包含了一些隨機輸入。[來源:維基百科]

  • 必須確定算法所處理的輸入值域
  • 對于確定輸出必須由明確的要求,輸出 = f(輸入)并在有限步驟內結束
  • 算法設計必須是嚴謹,可行且是正確的
  • 算法每一個步驟都有確切的含義
  • 同一算法可以用不同幾種形式來描述
  • 同一問題,可能存在不同算法
  • 針對同一問題的不同算法,其運算效率也不一樣
  • 算法描述

  • 自然語言描述
  • 程序流程圖
  • NS流程圖
  • 偽代碼
  • 程序設計語言
  • 算法設計過程

  • 問題分析(信息整理、數學抽象、證明等)
  • 確定算法策略/建立計算模型
  • 算法設計與描述
  • 算法分析 [評價-算法選擇]
  • 算法實現
  • 測試
  • 結果整理與文檔編制
  • 算法設計工具

    循環設計

    設計思維

    自底向上的設計——核心合并
    自頂向下的設計——核心分解

    挖掘內在規律構建計算模型

    挖掘問題的內在規律,并且挖掘其計算模型。

    衡量算法的標準

    主要是針對時間復雜度空間復雜度的分析,由于是前言,所以這些放在后篇了。

    常用算法

    迭代法

    • 簡單的迭代運算
    • 楊輝三角形
    • 穿越沙漠問題
    • 內存移動問題
    • 當 N<= 100 時 ,求N 階乘的準確值

    • 求解方程近似算法
    • 非線性方程
    • 線性方程

    • 線性規劃
    • 線性規劃最值求解

    蠻力法

    • 枚舉法

    • 輸入 n 個數字 ( 在 0 與 9 之間 ) ,然后統計出這組數中相鄰兩個數字組成的鏈環數字對出現的次數。

    • 解數字迷

    • 輸出玫瑰矩陣


    • 窮舉查找
    • 旅行商問題
    • 背包問題

    • 圖的搜索
    • 迷宮問題

    分治法

    • 二分查找算法
    • 設有 n 個元素的集合 a[0]~a[n-1] 是有序的,設計算法從這 n 個元素中找出值為 x 的特定元素。

    • 大整數乘法和 Strassen 矩陣乘法
    • 設 X, Y 是兩個 n 位的十進制數,求 X*Y 。
    • 對于任意給定的 n 階方陣 A 和 B ,求 A × B 的積 C 。

    • 棋盤覆蓋問題
    • 殘缺棋盤

    • 選擇性問題
    • 選第 k 小值

    回溯與分支限界

    • 回溯法
    • 四皇后問題
    • 裝載問題
    • n 皇后問題
    • 0-1 背包問題
    • 旅行商問題

    • 分支限界法
    • 裝載問題
    • 非 0-1 背包問題
    • 旅行商問題

    貪心法

    • 用貪心法求問題的解
    • 活動安排問題
    • 數列極差
    • 最優裝載
    • 鍵盤輸入一個高精度的正整數N,去掉其中任意S個數字后剩下的數字按原左右次序將組成一個新的正整數。對給于定的N和S,尋找一種方案使得剩下的數字組成的新數最小。

    • 近似貪心
    • 找零問題

    動態規劃

    • 投資分配問題
    • 背包問題
    • 矩陣邊乘問題
    • 最長公共子序問題
    • 最大子段和問題

    概率算法

    • 隨機數
    • 用線性同余法生成一個隨機序列

    • 蒙特卡羅算法
    • 利用隨機函數計算圓周率π\piπ
    • 素數測試

    • 舍伍德算法
    • 設 A 是含有 n 個元素的集合,從 A 中選出第 k 小的元素,其中 1≤k≤n 。

    • 拉斯維加斯算法
    • n 皇后問題

    注:點擊題目可以跳轉到對應文章,歡迎留言點贊!
    (本來想寫全部的題目的,但是時間有限…)
    累了
    2020.07.22 ------- 李某人留
    【參考】張小東老師ppt、維基百科(其余近期算法類的文章均有參考張老師的ppt)

    總結

    以上是生活随笔為你收集整理的【算法】开篇的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。