二 高精度計算 三 排序演算法

2021-08-02 15:54:40 字數 486 閱讀 9676

acm中有時遇到精度要求極高或者幾十幾百位的數,超出了int、double範圍,需要高精度來解決。

我認為高精度的根本就是把string轉化為陣列,值得注意的是陣列a在存乙個大數時,a[1]a[2]…一次存的是個十百千….位,而在string之中,是(n-1),(n-2)….位,也就是吧string到著存入陣列之中。

而高精度中的難點,則是小學生就應該熟記於心的逢十進一與像高位借一,在計算之中這個是要特殊進行討論的。

排序演算法在有了sort之後顯得並不重要了,但各種排序方法的思想很是值得學習。選擇排序是所謂最笨的方法,並沒有可說的必要。氣泡排序的一次次交換,每次將大的(小的)冒出來,能夠實現排序的目的。桶排序的思維最易理解,也最費空間,但這個也是最典型的空間換時間的應用,對於當時的我理解這個概念十分有用。快速排序是氣泡排序的改進,通過一趟排序將待排數分成兩部分,其中一部分總比另一部分小,再分別分割(這裡好像有了些二分的意思,但細說起來又不一樣),以達到排序的目的,在平均情況下,快速排序是最快的排序方法。

三 排序演算法

所有例子都是公升序排序。資料分成兩部分 已排序和待排序。排序過程中,資料移動分為兩種 1.直接移動 移動資料的儲存位置,消耗時間 2.邏輯移動 改變指向這些資料的指標 特點 遍歷待排序資料,把最小值與起始資料 最左邊 交換位置 次數 第一輪n 1次,第k輪n k次 步驟 1.如果待排序資料大於0,則...

演算法基礎(三) 排序

我們先來看看幾種排序的結構圖 排序是否穩定 比如 排序前 25 7 6 4 29 3 排序後 22 3 4 5 6 7 9 排序前藍2在紅 2前面,排序後藍 2依然在紅 2前面,則所用的排序方法是穩定的。如果排序後,紅 2有可能在藍 2前面,那麼所用的排序方法是不穩定的 下面說說前面幾種排序的時間複...

(三)排序演算法之選擇排序

選擇排序和之前說的氣泡排序和插入排序套路差不多,都是將陣列分隔為已排序和未排序子陣列,主要區別在於元素選取和放入。選擇排序是從未排序陣列中選最小 或最大 的乙個放入已排序的陣列後。下面用 分隔已排序和未排序陣列,如 待排序資料 7,0,2,8,1 一開始有序陣列是空的 一次排序 0 7,2,8,1 ...