演算法精解概述

2022-08-15 08:57:12 字數 484 閱讀 5661

原創:演算法精解概述

摘要:本文對《演算法精解》做了簡單描述,對其中的約束和核心思想簡單介紹了一下。

《演算法概述》是一本比較基礎的講解演算法和資料結構的書,英文名mastering algorithms with c。對於每種資料結構和演算法,裡面都有完整的c語言實現,並沒有單純講解演算法書籍的空洞感。這本書的英文版是在2023年上市的,中文版2023年才上市,翻譯步伐有點緩慢。雖然是本老書,c語言也是一種古老的語言,但依然散發著經典的光芒。裡面的程式使用純c語言編寫,當然有些可以使用c++的stl簡單的實現。這是一本好書,但是中文​翻譯水平一般,特別是對「引用」濫用很嚴重。

使用資料結構和演算法的三個原因是:效率、抽象和重用性。

在c語言裡,通過使用指向void型別的指標來管理任意型別的資料,而不是在資料結構內部維護乙份資料的私有副本。

隨機法分治法

動態規劃

貪心法近似法

模組化可讀性

簡潔性一致性

(全文完)

演算法精解 遞迴 尾遞迴

書上這樣說的 尾遞迴呼叫是整個函式體中最後執行的語句且它的返回值不屬於表示式的一部分時,這個遞迴呼叫就是尾遞迴。什麼意思呢,就是說我們在寫遞迴函式的時候,最後執行的語句肯定是呼叫遞迴函式,並且在呼叫過程中沒有什麼加減乘除。我們拿基本遞迴來說,如下 int fact int n 看看上面,最後執行的語...

《openCV演算法精解》學習 18 04 10

不積跬步,無以至千里。不要擔心走的太慢,每一步走紮實。1 opencv解壓後有兩個資料夾,source 和 build 前者存放編譯好的檔案,也是在配置opencv中重要的工具。子檔案doc中包含學習文件。後者存放原始碼,其中modules裡有core highgui和imgproc。分別實現了資料...

演算法精解(三) 歸併排序

歸併排序 o nlogn 所以歸併排序最壞情況能夠達到快速排序的平均水準 需要額外的儲存空間o n 1 對資料不斷的分割,直到剩下乙個乙個的 2 合併資料,在合併的時候,其實是兩個有序的陣列,因此 這個過程是兩個有序陣列進行合併排序 歸併排序 o nlogn 所以歸併排序最壞情況能夠達到快速排序的平...