⑴ excel數據排序問題
將任何類似數據的內容排序
和
分別將數字和以文本形式儲存的數字排序
有什麼區別?
將任何類似數據的內容排序:把以文本形式存儲的數字當作數字來處理
分別將數字和以文本形式儲存的數字排序:數字和文本分開排序,就是數字和數字比大小,文本形式的數字相互比較,數字在前面,文本在後面
⑵ 資料庫技術知識數據結構的演算法
資料庫技術知識數據結構的演算法
對於將要參加計算機等級考試的考生來說,計算機等級考試的知識點輔導是非常重要的復習資料。以下是我收集的資料庫技術知識數據結構的演算法,希望大家認真閱讀!
1、數據:數據的基本單位是數據元素。數據元素可由一個或多個數據項組成。數據項是數據的不可分割的最小單位
2、數據結構:數據的邏輯結構、數據的存儲結構、數據的運算
3、主要的數據存儲方式:順序存儲結構(邏輯和物理相鄰,存儲密度大)和鏈式存儲結構
順序存儲結構:
順序存儲計算公式 Li=L0+(i-1)×K 順序結構可以進行隨機存取;插人、刪除運算會引起相應節點的大量移動
鏈式存儲結構:a、指針域可以有多個,可以指向空,比比順序存儲結構的存儲密度小
b、邏輯上相鄰的節點物理上不一定相鄰。 c、插人、刪除等不需要大量移動節點
4、順序表:一般情況下,若長度為n的順序表,在任何位置插入或刪除的概率相等,元素移動的平均次數為n/2(插入)和(n-1)/2(刪除)。
5、鏈表:線性鏈表(單鏈表和雙向鏈表等等)和非線性鏈表
線性鏈表也稱為單鏈表,其每個一節點中只包含一個指針域,雙鏈表中,每個節點中設置有兩個指針域。(注意結點的插入和刪除操作)
6、棧:“後進先出”(LIFO)表。棧的應用:表達式求解、二叉樹對稱序周遊、快速排序演算法、遞歸過程的實現等
7、隊列:“先進先出”線性表。應用:樹的層次遍歷
8、串:由零個或多個字元組成的有限序列。
9、多維數組的順序存儲:
10、稀疏矩陣的存儲:下三角矩陣順序存儲
其他常見的存儲方法還有三元組法和十字鏈表法
11、廣義表:由零個或多個單元素或子表所組成的有限序列。廣義表的元素可以是子表,而子表的元素還可以是子表
12、樹型結構:非線性結構。常用的樹型結構有樹和二叉樹。
二叉樹與樹的區別:二叉樹不是樹的特殊情況,樹和二叉樹之間最主要的區別是:二叉樹的節點的子樹要區分左子樹和右子樹,即使在節點只有一棵子樹的情況下也要明確指出該子樹是左子樹還是右子樹。
13、樹(森林)與二叉樹之間的轉換(要會轉換)
14、二叉樹和樹的周遊(遍歷)
二叉樹的周遊主要有以下3種方式:前序法(NLR)、對稱序法(LNR)、後序法(LRN)
周遊樹和樹林:深度優先和按廣度優先兩種方式進行。深度優先方式又可分為按先根次序和按後根次序周遊
樹與二叉樹周遊之間的對應關系:按先根次序周遊樹正好與按前序法周遊樹對應的二叉樹等同,後根次序周遊樹正好與按對稱序法周遊對應的`二叉樹等同
按廣度優先方式就是層次次序周遊
15、二叉樹的存儲和線索
二叉樹的存儲結構:二叉樹的llink一rlink法存儲表示
線索二叉樹:在有n個節點的二叉樹的且llink - rlink法存儲表示中,必定有n+1個空指針域
16、哈夫曼樹:一類帶權路徑長度最短的樹。樹的帶權路徑長度為樹中所有葉子節點的帶權路徑長度之和WPL。
17、查找:
(1)順序查找:平均查找長度為(n +1 )/2次,時間復雜度為O(n)
(2)二分法查找:線性表節點必須按關鍵碼值排序,且線性表是以順序存儲方式存儲的。查找成功比較次數log2n,查找失敗比較次數log2n+1
(3)分塊查找:先是塊間查找,然後塊內查找。
(4)散列表(哈希表Hash)的存儲和查找:處理沖突的方法:開地址法(線性探測法)、拉鏈法等
負載因子(裝填因子)=表實際存儲的結點個數/表的最大能存儲結點個數(即表長)
二叉排序樹:每個結點左子樹的所有關鍵碼值都小於該結點關鍵碼值,右子樹所有結點關鍵碼值都大於該結點關鍵碼值。對稱周遊二叉排序樹,得到一個有序序列,時間復雜度O(log2n)
B樹和B+樹:M階樹,每個結點至多有M-1個關鍵碼,至少有M/2(取上界)-1個關鍵碼。B樹適合隨機查找,不適合順序查找。B+樹適合順序查找。
18、排序
直接插人排序、希爾排序、直接選擇排序、堆排序、起泡排序、快速排序等排序演算法要了解。
直接選擇排序、希爾排序、快速排序和堆排序是不穩定排序,其他排序為穩定排序
;⑶ 各種排序演算法所需輔助空間是多少
1、 所有的簡單排序方法(包括:直接插入、起泡和簡單選擇)和堆排序的空間復雜度為O(1);
2、 快速排序為O(logn ),為棧所需的輔助空間;
3、 歸並排序所需輔助空間最多,其空間復雜度為O(n );
4、鏈式基數排序需附設隊列首尾指針,則空間復雜度為O(rd )。
⑷ 幾種排序方法的存儲結構
排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。
我們這里說說八大排序就是內部排序。
當n較大,則應採用時間復雜度為O(nlog2n)的排序方法:快速排序、堆排序或歸並排序序。
快速排序:是目前基於比較的內部排序中被認為是最好的方法,當待排序的關鍵字是隨機分布時,快速排序的平均時間最短;
1.插入排序—直接插入排序(Straight Insertion Sort)
基本思想:
將一個記錄插入到已排序好的有序表中,從而得到一個新,記錄數增1的有序表。即:先將序列的第1個記錄看成是一個有序的子序列,然後從第2個記錄逐個進行插入,直至整個序列有序為止。
要點:設立哨兵,作為臨時存儲和判斷數組邊界之用。
直接插入排序示例:
如果碰見一個和插入元素相等的,那麼插入元素把想插入的元素放在相等元素的後面。所以,相等元素的前後順序沒有改變,從原無序序列出去的順序就是排好序後的順序,所以插入排序是穩定的。
⑸ 線性表順序存儲結構不是要求數據元素是按照邏輯順序存放的嗎,為什麼下面這個圖數字不是按照大小順序存放
順序存儲指的是數據在內存中的存放方式,而不是排序方式,它與鏈式存儲相對。
數據在內存的一片連續區域中依次相鄰存放則稱為順序存儲;數據在內存中分散存放,每個結點除了保存數據外,還保存下個結點的地址信息則稱為鏈式存儲。
數據按照由小到大或是由大到小的方式排列屬於數據的排序方式。