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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

读书笔记-《大话数据结构》第二章算法

發布時間:2025/4/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读书笔记-《大话数据结构》第二章算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2.3兩種算法的比較

?

#include <iostream> #if 0 //需要運行 100次 int main() {int i,sum=0,n=100;for(i=1;i<=n;i++){sum=sum+i;} std::cout << sum;return 0; } #endif #if 1 int main() {//運行一次 int sum=0,n=100;sum=(1+n)*n/2;std::cout << sum; } #endif //顯然 第二個算法更優秀 //算法:解決特定問題求解的描述, 在計算機中表現為指令的有限序列,并且每條指令表示一個或多個操作2.4算法定義

? 算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,并且每條指令表示一個或多個操作。

2.5算法的特性

? 輸入輸出:零個或多個輸入,至少一個或多個輸出。

?有窮性:有限的步驟,每個步驟在可接受的時間內完成

確定性:每一步都有確定的含義,沒有二義性

可行性:每一步都必須可行,執行有限次數完成

2.6算法的設計

?正確性

?可讀性

?健壯性

時間效率高和存儲量低

2.7算法效率的度量方法

?2.7.1事后統計方法:通過寫好的測試程序和數據,利用計算機對不同算法比較,然后確定效率

???? 缺點:必須事先把程序寫好,時間的快慢依賴計算機,算法測試數據設計困難

2.7.2事前分析估計方法 :編程前對程序進行估計

??? 缺點:依賴算法的好壞

2.10常見的時間復雜度

?? ? O(1): 表示算法的運行時間為常量
? ? O(n): 表示該算法是線性算法
?? O(㏒2n): 二分查找算法
?? O(n2): 對數組進行排序的各種簡單算法,例如直接插入排序的算法。
?? O(n3): 做兩個n階矩陣的乘法運算
?? O(2n): 求具有n個元素集合的所有子集的算法
?? O(n!): 求具有N個元素的全排列的算法

優<---------------------------<劣

O(1)2n)<O(n)<O(n2)<O(2n)


排序法

?最差時間分析平均時間復雜度 穩定度 空間復雜度
冒泡排序O(n2)O(n2)穩定 O(1)
快速排序O(n2)O(n*log2n)不穩定 O(log2n)~O(n)
選擇排序O(n2)O(n2)穩定 O(1)
二叉樹排序O(n2)O(n*log2n)不一頂 O(n)

插入排序

O(n2)O(n2)穩定 O(1)
堆排序O(n*log2n) O(n*log2n)不穩定 O(1)
希爾排序OO 不穩定 O(1)





?

轉載于:https://www.cnblogs.com/hiwoshixiaoyu/p/10035074.html

總結

以上是生活随笔為你收集整理的读书笔记-《大话数据结构》第二章算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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