線性時間排序 三 C語言

2021-05-25 05:01:09 字數 506 閱讀 2192

給定若干字串,也就是二維陣列,字串指標之類的.如 ab, a, b.要求排序後為 a, ab, b.字母數為 n ,在 o(n)時間完成.這個問題,是昨天那個問題的下乙個問題.我起初的方向是錯的.後來,採用了分治的方法給予實現.關於時間的分析, 每次都只對當前位置不為 nul 的字元進行排序.所以,當然就是 o(n)了.確實,是這樣.字母的範圍,也是可以通過巨集來更改的,非常方便.有實用價值.

寫部落格是個好習慣,能夠梳理我的思緒,同樣也是寫**時的期待.

字串,是乙個我一直迴避的問題.昨天和今天,接觸了不少,各種操作什麼的.

今天做了09上的題,上午下午都通過了.呵呵.我整天幹著如此健腦的事情.

這個東西,知識點比較多.都是基數排序的思想,運用到具體問題.我想,對於這一塊,我能夠解決一部分問題.

腦袋比較昏沉,再睪一會去睡覺.

當然,這個東西也給我帶來了很多問題.編譯方面的,巨集重定義莫名地出現,如何一次性為乙個函式分配儲存空間,而不用頻繁分配.都是待解決的問題.

好吧,貼出我的**.

線性時間選擇排序C語言

這個 是我自己靠思路寫的,問題不斷,請各位大佬,指定下,哪些地方問題很大,哪些地方可以提公升提公升 include include intfuncation int a,int p,int q,int k int sort int aa,int left,int right int arr int ...

線性時間排序

public void radixsort int a a k key 我們前面提到的方法,基本上都是比較排序,本篇介紹三種非比較型別的排序,計數排序 基數排序 桶排序,比較排序的最壞的情況都是經過nlgn的,線性排序的時間複雜度基本上都是線性關係。1.計數排序 計數排序不是通過元素之間的比較,而是...

線性時間排序

在最壞情況下任何比較排序演算法都需要做 nlgn 次比較 計數排序 假設輸入的資料都屬於乙個小區間內的整數 counting sort a,b,k 1.let c 0.k be a new array 2.for i 0 to k 3.c i 0 4.for j 1 to a.length 5.c ...