常會在資料結構選擇、資料儲存、排序方法和效率、資料建立/拷貝耗時等方面產生選擇糾結。對它們缺乏乙個明確的認識。
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 資料之間是有聯絡的,我們要選擇適宜的資料結構和高效率的演算法。邏輯結構 一對一 線性 一對多 樹 多對多 圖 鬆散...
開始學資料結構 (六) 希爾排序
好久沒有寫關於資料結構的筆記了,快校招了,得補補,面試或許有用的。下面講希爾排序,作為簡單插入排序的改進 先講下思路 挺簡單的。簡單插入排序,就是後面的數來的從後面開始比較,只要 前面的數,就將前面的數往後移動一位,直到不能移動為止,則是要插入的地方。為何出了希爾排序呢,上面的思路挺容易忽略乙個簡單...
資料結構 演算法效率
資料結構之前,先來了解兩個概念 時間複雜度 由來 這裡的時間複雜度不是程式執行的時間。評價乙個演算法的好壞,並不能通過程式執行的快慢來評估。因為程式的執行快慢還有很多因素,和計算機硬體有關,所以如果在不同的電腦上 執行的時間可能不一樣 那麼這裡的時間複雜度指啥,指的是演算法中基本操作的執行次數。比如...