1. 程式人生 > 其它 >Spring - 關於模式註解和依賴注入的一些理解

Spring - 關於模式註解和依賴注入的一些理解

查詢表:由同一型別的資料元素或記錄構成的集合。關鍵字:用來標識一個數據元素某個資料項的值。主關鍵字:可以唯一的標識一個記錄的關鍵字,次關鍵字:用以識別若干個記錄的關鍵字是次關鍵字。

查詢表:靜態查詢表:僅作查詢(檢索)操作。動態查詢表:作插入和刪除操作的查詢表。順序查詢演算法改進:將帶查詢值放入表頭(哨兵):可免去查詢過程中每一部都要檢測是否查詢完畢(i的值是否等於0)、

順序查詢的特點:演算法簡單,時間效率太低。折半查詢的特點:效率比順序查詢高,只適用於有序表,且限於順序儲存結構。

分塊查詢(索引順序查詢表):將表分成幾塊,且表或者有序,或者分塊有序;若j>i,則第j塊中所有記錄的關鍵字均大於第i塊中的最大關鍵字。分塊查詢的特點:優點:插入和刪除比較容易無需進行大量移動。

缺點:要增加一個索引表的儲存空間並對初始索引表進行排序運算。適用情況:對線性表既要快速查詢又要經常動態變化。

樹表的查詢:二叉排序樹:又稱二叉搜素樹,二叉查詢樹的定義:若其左子樹非空,左子樹上的所有結點的值均小於等於根結點的值;若其右子樹非空,則右子樹上所有的結點的值均大於等於根結點的值。其左子樹和右子樹本身又各是一顆二叉排序樹。二叉排序樹的性質:中序遍歷非空的二叉排序樹所得到的資料元素序列是一個按關鍵字排序的遞增有序序列。二叉排序樹的操作:一個無序序列可通過構造二叉排序樹而變成一個有序序列,構造樹的過程就是對無序序列進行排序的過程。平衡二叉樹:對於一顆有n個結點的AVL樹(平衡二叉排序樹),其高度保持在O(log2n)的數量級,ASL(平均查詢長度)也保持在O(log2n)數量級。AVL樹的特點:左子樹和右子樹的高度之差絕對值小於等於1,左子樹和右子樹也是平衡二叉排序樹。

散列表:記錄的儲存位置與關鍵字之間存在對應關係,對應關係--hash函式,優點:查詢效率高。缺點:空間效率低。術語:衝突:不同的關鍵碼對映到同一個雜湊地址。同義詞:具有相同函式值的多個關鍵字。

雜湊函式的構造方法:直接定址法:以關鍵字key的某個線性函式值為雜湊地址,不會產生衝突。缺點:要佔用連續地址空間,空間效率低。除留餘數法(%表長)。

解決衝突:開放定址法:有衝突時就去尋找下一個空的雜湊地址,只要散列表足夠大空的雜湊地址總能找到,並將元素存入,常用方法:線性探測法:di為1,2,3...;二次探測法:di為二次序列;偽隨機探測法:di為偽隨機數序列。鏈地址法(拉鍊法):相同雜湊地址的記錄鏈成一單鏈表,然後用一個數組將這麼多單鏈表的表頭指標儲存起來,形成一個動態的結構。優點:沒有聚集現象。