依舊如上周一般,從概念性作業開始進行梳理吧:
一些 PTA選擇以及判斷題:
判斷題
1、在散列表中,所謂同義詞就是具有相同散列地址的兩個元素。 (2分)
2、即使把2個元素散列到有100個單元的表中,仍然有可能發生沖突。 (2分)
3、將M個元素存入用長度為S的數組表示的散列表,則該表的裝填因子為M/S。 (2分)
4、在度量搜索引擎的結果集的相關度時,召回率很低意味着大多數相關的文檔沒有被找到。(2分)
(關於准確率和召回率:https://blog.csdn.net/yechaodechuntian/article/details/37394967)
5、在度量搜索引擎的結果集的相關度時,准確率很低意味着找出的大部分文檔是無關的。(2分)
選擇題
2、 將M個元素存入用長度為S的數組表示的散列表,則該表的裝填因子為: (2分)
M/S
3、在下列查找的方法中,平均查找長度與結點個數無關的查找方法是: (2分)
4、散列沖突可以被描述為: (2分)
5、若查找每個元素的概率相等,則在長度為n的順序表上查找任一元素的平均查找長度為()。 (2分)
6、有一個有序表為{1, 3, 9, 12, 32, 41,45, 62, 75, 77, 82, 95, 100},當用二分法查找值 82 的結點時,()次比較后查找成功。 (2分)
7、(neuDS)對線性表進行二分查找時,要求線性表必須( ) (2分)
8、(neuDS)當采用分塊查找時,數據的組織方式為( )。(2分)
9、現有長度為 7、初始為空的散列表HT
,散列函數(,用線性探測再散列法解決沖突。將關鍵字 22, 43, 15 依次插入到HT
后,查找成功的平均查找長度是:(2分)
10、__是HASH查找的沖突處理方法: (2分)
基本概念:
1、動態查找表和靜態查找表
動態查找表:在查找的同時對表修改操作(如:插入和刪除)
靜態查找表:與動態查找表剛好相反
2、平均查找長度
(即關鍵字的平均比較次數)為確定記錄在查找表中的位置,需和給定值進行比較的關鍵字個數的期望值,稱為查找算法在查找成功時的平均查找長度
若查找概率相同: ASL = (C1+C2+C3+C4+...)/n
若查找概率相同且進行:ASL= (C1+C2+C3..+Cn)/n = (n+1)/2
線性查找:
順序查找:從表的一端開始,依次將記錄的關鍵字和給定的值進行比較。
(記得有監視哨的順序查找)
算法如下:

1 int search_seq(sstable st,keytype key) 2 { 3 st.r[0].key = key; //哨兵 4 for(i=st.length;st.r[i].key!=key;--i); //從后往前找 5 return i; 6 }
折半查找,也稱二分查找
首先記得要排序,然后是從中間開始進行比對
分塊查找:又稱搜索引擎查找
性能介於順序查找和折半查找之間的一種查找
樹表查找:
二叉排序樹:
左子樹上的所有節點的值小於它的根節點的值
右子樹則大於
平衡二叉樹:
左子樹和右子樹的深度之差不超過一
左右子樹均是平衡二叉樹
散列表的查找:
散列函數與散列地址:Hash函數,可以得到散列地址
散列表:一個有連續的地址空間,用以存儲按散列函數計算得到相應散列地址的數據記錄
沖突和同義詞:
處理沖突的方法:
開放地址法:1、線性探測法(找空位法) 2、二次探測法(記得利用平方相加)3
鏈地址法:存放在鏈表里
由於匆忙,本次大題的博客將會在后面進行補充
本周已達上周的目標,同時對於突然的博客作業,感到無語,匆匆忙忙的開始寫的,質量降低,純屬無奈
希望下周能好好的復習吧~~~