c 基數排序演算法的問題

發布 科技 2024-03-31
5個回答
  1. 匿名使用者2024-02-07

    子函式指標使用不正確!

  2. 匿名使用者2024-02-06

    1.排序演算法的實際應用當然是排序。 它將用於實際應用,例如資料統計。

    對一組資料進行排序還有助於以後的資料查詢。 重要的是要知道,在有序陣列中查詢和在隨機無序陣列中查詢的時間複雜度和系統成本之間存在著天壤之別。

    2.演算法複雜度實際上是乙個估計值,即 o(n)。 首先,o 此操作定義為:如果 f(n) 是正整數 n 的函式,則 xn

    o(f(n)) 表示存在乙個正常數 m,使得當 n 大於或等於整數 n0 時,xn 小於或等於 m 乘以 f(n)。 這在演算法中的實際意義如下:

    例如,要執行排序演算法,最多需要執行 5n+7 個命令(語句):最多表示迴圈在執行過程中完全執行,即例如,如果迴圈條件為 1-n,則迴圈最多可以執行 n 次。 如果迴圈中有 5 個基本語句(包括遞增迴圈變數 i++),則有 5n 個語句。

    然後根據上面 o 函式的定義,這次 xn

    5n7。注意,當 n 大於或等於 7 時,5n+7 小於或等於 6n,也就是說我們可以把 6 看作 m,把 n 看作 f(n),所以可以說這個演算法的時間複雜度是 o(n)。 對於其他 o(n2), o(n

    logn)等。在計算執行的命令總數時,“最壞情況”(從迴圈的初始條件到迴圈的最終條件,條件分支也應考慮最大可能情況),然後每個基本語句(例如賦值、比較等)都應被考慮在內。

  3. 匿名使用者2024-02-05

    我不知道你說的是哪七個。 我不認為有這樣的數字。 我會拿起一些我熟悉的東西來談論它。

    第乙個是 o(log(n))。

    1.快速行。 除了面試,我沒找到什麼地方用手寫快行,不過這個東西真的是又快又好寫,記得有個樞軸,然後兩個游標,分而治之,看c**你就知道細節**就可以了;

    2. 合併。 該演算法時間穩定,效率高,合併排序,顧名思義,就是從基本元素進行排序合併,得到結果。 根據個人經驗,合併一般用於鍊表,相鄰表的排序會更愉快;

    接下來是 O(N2):

    3、4、5、選擇、插入、氣泡...... 記住這個原因沒關係,你根本不需要寫它。

    如果您願意,您可以在開始時選擇最小或最大的乙個。

    如果你插入它,這很容易說,也就是說,當你平時在整理錢包或整理書籍時,你只需插入和分類,只要記住這一點。

    冒泡,也許比較常用,找到乙個數字和號碼周圍的順序不對,就換一下,這就是冒泡。

    還有什麼? 桶排(紅衣主教)? 山丘分類? 這些都比較冷門。雖然在特殊的地方,想法還是需要用到的,但一般順序不涉及這些。

    另外還有排序和qsort,這些都是學習思維,沒有必要手寫,除非你想搞acm之類的。

  4. 匿名使用者2024-02-04

    需要這方面的幫助嗎? 私聊。

  5. 匿名使用者2024-02-03

    沒錯。 一般算術運算如下(從高源光纖到低源光纖)算術運算:+、空腔、%

    邏輯運算 (1): >

    邏輯運算 (2): =

    賦值操作:=

相關回答
10個回答2024-03-31

快速行(最常見和最簡單的)。

演算法的想法是分而治之。 >>>More

6個回答2024-03-31

首先,我想談談搜尋引擎優化的本質,我個人認為搜尋和搜尋優化的本質是“在留下自然鏈結的同時,真正改善使用者體驗或解決使用者問題”,請注意,我所說的“真實”是真正幫助真實使用者解決真實問題, “順便說一下”是指留下外鏈是很自然的,留下外鏈的位址不是牽強附會或刻意為之。那麼,我們來談談搜尋引擎的排名機制,一般來說,它應該是最滑溜溜的,使用者體驗高,對使用者眼前的使用者有價值的資訊。

16個回答2024-03-31

只要 o(n) 掃瞄一次,數百萬個陣列並不大,而 c 可以為全域性變數開啟這麼大。 >>>More

18個回答2024-03-31

為什麼它們以這種方式出現,為什麼 x 是從 1 到 14,這需要仔細計算。 因為這個問題的計算量很小,所以有時候我會盡量省下自己的力氣(少計算一點),讓電腦多計算一點。 >>>More

12個回答2024-03-31

在大多數題庫中,演算法時間複雜度的答案是選擇與問題大小相關的選項,而干擾因素通常是計算機硬體的效能、編譯程式的質量、程式語言等。 (直接)。 >>>More