資料結構 從糾結排序效率開始

2021-09-29 23:04:18 字數 792 閱讀 9362

常會在資料結構選擇、資料儲存、排序方法和效率、資料建立/拷貝耗時等方面產生選擇糾結。對它們缺乏乙個明確的認識。

struct tfilelistinfo

unsigned

char u8name[8]

;unsigned

int u32size;

unsigned

char u8note[80]

;

複雜度,時間複雜度、空間復

二維陣列在記憶體中的儲存也是連續的

陣列的排序

**下map容器使用的是什麼排序,效率如何–與我自己寫陣列排序有什麼區別

stl現在也已經開源了,也可以嘗試著去看看

//qt中使用的排序

請務必測試:

在向qmap中不斷的插入資料的過程中,每次排序的複雜度可能是在遞減的–

這可能不比先無序的向qlis中插入資料,然後再使用一次qsort要慢,他們耗時可能是差不多的—

這個問題乙個比較大的研究方向是耗時分析,因為會經常的糾結,到底使用怎樣的方案才會更好,無法抉擇。

這裡頭包含在著,多進行了一次資料拷貝的擔憂(問題大約如下:)

struct tfilelist

char * u8listdate = malloc(sizeof(tfilelist) * 100);

為這100個資料賦值 1-100 檔名稱 亂序

然後把他們插入到乙個map中

一種是直接插入

另一種是先轉換為qt的結構qstring

struct tfilelistqt

重學資料結構 資料結構從0開始

18.07.14 程式 演算法 資料結構,演算法 邏輯 控制。資料結構的用途 一是儲存需要記錄 儲存的資料 而是通過資料結構來實現演算法,通過記錄的資料來判斷或者增減。18.07.16 資料之間是有聯絡的,我們要選擇適宜的資料結構和高效率的演算法。邏輯結構 一對一 線性 一對多 樹 多對多 圖 鬆散...

開始學資料結構 (六) 希爾排序

好久沒有寫關於資料結構的筆記了,快校招了,得補補,面試或許有用的。下面講希爾排序,作為簡單插入排序的改進 先講下思路 挺簡單的。簡單插入排序,就是後面的數來的從後面開始比較,只要 前面的數,就將前面的數往後移動一位,直到不能移動為止,則是要插入的地方。為何出了希爾排序呢,上面的思路挺容易忽略乙個簡單...

資料結構 演算法效率

資料結構之前,先來了解兩個概念 時間複雜度 由來 這裡的時間複雜度不是程式執行的時間。評價乙個演算法的好壞,並不能通過程式執行的快慢來評估。因為程式的執行快慢還有很多因素,和計算機硬體有關,所以如果在不同的電腦上 執行的時間可能不一樣 那麼這裡的時間複雜度指啥,指的是演算法中基本操作的執行次數。比如...