1.有向循環(huán)圖的展示方法,其中所述有向循環(huán)圖包括多個(gè)連通有向循環(huán)子圖,所述方法包括:
將所述有向循環(huán)圖以多叉樹的形式展示,其中多叉樹的根結(jié)點(diǎn)表示訪問入口,根結(jié)點(diǎn)的下一級(jí)子結(jié)點(diǎn)包括所述多個(gè)連通有向循環(huán)子圖的起始頂點(diǎn),所述根結(jié)點(diǎn)到其下一級(jí)子結(jié)點(diǎn)的路徑稱為起始路徑,所述起始路徑的權(quán)重是所述起始頂點(diǎn)在所述有向循環(huán)圖中作為起始頂點(diǎn)出現(xiàn)的次數(shù),所述多叉樹中根結(jié)點(diǎn)之外的結(jié)點(diǎn)之間的跳轉(zhuǎn)路徑對(duì)應(yīng)于所述有向循環(huán)圖中相應(yīng)結(jié)點(diǎn)之間的路徑,該跳轉(zhuǎn)路徑的父結(jié)點(diǎn)為所述有向循環(huán)圖中相應(yīng)路徑的起點(diǎn),該跳轉(zhuǎn)路徑的子結(jié)點(diǎn)為所述有向循環(huán)圖中相應(yīng)路徑的終點(diǎn),所述跳轉(zhuǎn)路徑的權(quán)重對(duì)應(yīng)于所述多叉樹的路徑對(duì)應(yīng)地在所述有向循環(huán)圖中出現(xiàn)次數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其中所述權(quán)重采用路徑的特征來表示,所述路徑的特征包括選自以下的至少一種:路徑的顏色,路徑的粗細(xì),路徑上的數(shù)字,及其組合。
3.根據(jù)權(quán)利要求1或2所述的方法,其中
對(duì)所述多叉樹的每個(gè)子結(jié)點(diǎn)分別進(jìn)行樹的遍歷,如果該子結(jié)點(diǎn)的父結(jié)點(diǎn)到該子結(jié)點(diǎn)的路徑的權(quán)重及該子結(jié)點(diǎn)以下的所有路徑的權(quán)重低于閾值,則刪除該子結(jié)點(diǎn)及其下的所有子結(jié)點(diǎn),然后展示所述多叉樹的剩余部分。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其中
“將所述有向循環(huán)圖以多叉樹的形式展示”包括以下步驟:
形成起始樹,所述起始樹包括根結(jié)點(diǎn)和下一級(jí)子結(jié)點(diǎn),所述根結(jié)點(diǎn)的下一級(jí)子結(jié)點(diǎn)為所述有向循環(huán)圖中多個(gè)連通有向循環(huán)子圖的起始頂點(diǎn),所有起始頂點(diǎn)根據(jù)遍歷的順序按照起始頂點(diǎn)所對(duì)應(yīng)的起始路徑的權(quán)重從大到小排列,
將所述有向循環(huán)圖涉及的每個(gè)頂點(diǎn)形成一棵子樹,該子樹包括在以該頂點(diǎn)為終點(diǎn)的所有路徑中權(quán)重最大的路徑的起點(diǎn)作為父結(jié)點(diǎn),在統(tǒng)計(jì)權(quán)重時(shí)起始頂點(diǎn)的父結(jié)點(diǎn)視為根結(jié)點(diǎn)來計(jì)算起始路徑的權(quán)重,和以該頂點(diǎn)為起點(diǎn)的所有路徑中的終點(diǎn)為子結(jié)點(diǎn),并且所有子結(jié)點(diǎn)根據(jù)遍歷的順序按所述子結(jié)點(diǎn)所對(duì)應(yīng)的路徑的權(quán)重從大到小排列,
從根結(jié)點(diǎn)開始按照層次優(yōu)先算法對(duì)起始樹進(jìn)行樹的遍歷,并且適用以下規(guī)則中的一個(gè)或多個(gè):
遍歷到某個(gè)結(jié)點(diǎn)時(shí),如果該結(jié)點(diǎn)對(duì)應(yīng)的子樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)是當(dāng)前所遍歷的樹中該結(jié)點(diǎn)的父結(jié)點(diǎn),則將該結(jié)點(diǎn)對(duì)應(yīng)的子樹掛到當(dāng)前所遍歷的樹中;
遍歷到某個(gè)結(jié)點(diǎn)時(shí),如果該結(jié)點(diǎn)對(duì)應(yīng)的子樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)不是當(dāng)前所遍歷的樹中該結(jié)點(diǎn)的父結(jié)點(diǎn),則判斷該結(jié)點(diǎn)是否屬于某個(gè)環(huán),如果該結(jié)點(diǎn)不屬于某個(gè)環(huán),則將當(dāng)前結(jié)點(diǎn)表示為訪問終點(diǎn),不再對(duì)該結(jié)點(diǎn)進(jìn)行進(jìn)一步的遍歷;
遍歷到某個(gè)結(jié)點(diǎn)時(shí),如果該結(jié)點(diǎn)對(duì)應(yīng)的子樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)不是當(dāng)前所遍歷的樹中該結(jié)點(diǎn)的父結(jié)點(diǎn),則判斷該結(jié)點(diǎn)是否屬于某個(gè)環(huán),如果該結(jié)點(diǎn)屬于某個(gè)環(huán),則將該結(jié)點(diǎn)對(duì)應(yīng)的子樹掛到當(dāng)前所遍歷的樹中的當(dāng)前結(jié)點(diǎn),繼續(xù)對(duì)該結(jié)點(diǎn)的子結(jié)點(diǎn)進(jìn)行進(jìn)一步的遍歷,并且任選地將該子樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)變更為當(dāng)前所遍歷的樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)。
5.一種綜合展示用戶行為軌跡的方法,包括如下步驟:
獲取用戶的行為軌跡,每個(gè)行為軌跡包括用戶的起始訪問頁面以及依次訪問的后續(xù)頁面,也即每個(gè)行為軌跡可以以一個(gè)連通有向循環(huán)子圖表示,其中該連通有向循環(huán)子圖的起始頂點(diǎn)是起始訪問頁面,其他頂點(diǎn)表示用戶所訪問到的后續(xù)頁面,所述有向循環(huán)圖中帶方向的路徑就是用戶訪問頁面的方向,也即用戶從一個(gè)頁面跳轉(zhuǎn)到另一個(gè)頁面的操作,所有的連通有向循環(huán)子圖構(gòu)成有向循環(huán)圖;
將所述行為軌跡以包含多叉樹的形式展示,其中
所述多叉樹的根結(jié)點(diǎn)表示訪問入口,其他結(jié)點(diǎn)表示用戶所訪問到的頁面;
根結(jié)點(diǎn)到其下一級(jí)子結(jié)點(diǎn)之間的路徑表示起始訪問路徑,根結(jié)點(diǎn)的每個(gè)下一級(jí)子結(jié)點(diǎn)表示一個(gè)起始訪問頁面,該起始訪問路徑的權(quán)重就是在該有向循環(huán)圖中該起始訪問頁面作為起始頂點(diǎn)出現(xiàn)的次數(shù);
除根結(jié)點(diǎn)之外其他結(jié)點(diǎn)之間的路徑表示跳轉(zhuǎn)訪問路,對(duì)應(yīng)于所述有向循環(huán)圖中的路徑,該跳轉(zhuǎn)訪問路徑的權(quán)重就是它在該有向循環(huán)圖中出現(xiàn)的次數(shù)。
6.根據(jù)權(quán)利要求5所述的方法,其中在所展示的多叉樹中,所述權(quán)重采用路徑的特征來表示,所述路徑的特征包括選自以下的至少一種:路徑的顏色,路徑的粗細(xì),路徑上的數(shù)字,及其組合。
7.根據(jù)權(quán)利要求5或6所述的方法,其中
對(duì)所述多叉樹的每個(gè)子結(jié)點(diǎn)分別進(jìn)行樹的遍歷,如果該子結(jié)點(diǎn)的父結(jié)點(diǎn)到該子結(jié)點(diǎn)的路徑的權(quán)重及該子結(jié)點(diǎn)以下的所有路徑的權(quán)重低于閾值,則刪除該子結(jié)點(diǎn)及其下的所有子結(jié)點(diǎn),然后展示所述多叉樹的剩余部分。
8.權(quán)利要求5至7中任一項(xiàng)所述的方法,其中
“將所述行為軌跡以包含多叉樹的形式展示”包括以下步驟:
形成起始樹,所述起始樹的根結(jié)點(diǎn)為訪問入口,所述根結(jié)點(diǎn)的子結(jié)點(diǎn)為所述有向循環(huán)圖中每個(gè)連通有向循環(huán)子圖的起始頂點(diǎn),所有起始頂點(diǎn)根據(jù)遍歷的順序按照起始頂點(diǎn)所對(duì)應(yīng)的起始路徑的權(quán)重從大到小排列,
將所述有向循環(huán)圖中涉及的每個(gè)頁面(頂點(diǎn))所對(duì)應(yīng)的結(jié)點(diǎn)形成一棵子樹,該子樹包括在以該頁面(頂點(diǎn))為終點(diǎn)的所有路徑中權(quán)重最大的路徑的起點(diǎn)作為父結(jié)點(diǎn),和以該頁面(頂點(diǎn))為起點(diǎn)的所有路徑中的終點(diǎn)為子結(jié)點(diǎn),并且所有子結(jié)點(diǎn)根據(jù)遍歷的順序按所述子結(jié)點(diǎn)所對(duì)應(yīng)的路徑的權(quán)重從大到小排列,
從根結(jié)點(diǎn)開始按照層次優(yōu)先算法對(duì)起始樹進(jìn)行樹的遍歷,并且適用以下規(guī)則中的一個(gè)或多個(gè):
遍歷到某個(gè)結(jié)點(diǎn)時(shí),如果該結(jié)點(diǎn)對(duì)應(yīng)的子樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)是當(dāng)前所遍歷的樹中該結(jié)點(diǎn)的父結(jié)點(diǎn),則將該結(jié)點(diǎn)對(duì)應(yīng)的子樹掛到當(dāng)前所遍歷的樹中;
遍歷到某個(gè)結(jié)點(diǎn)時(shí),如果該結(jié)點(diǎn)對(duì)應(yīng)的子樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)不是當(dāng)前所遍歷的樹中該結(jié)點(diǎn)的父結(jié)點(diǎn),則判斷該結(jié)點(diǎn)是否屬于某個(gè)環(huán),如果該結(jié)點(diǎn)不屬于某個(gè)環(huán),則將當(dāng)前結(jié)點(diǎn)表示為訪問終點(diǎn),不再對(duì)該結(jié)點(diǎn)進(jìn)行進(jìn)一步的遍歷;
遍歷到某個(gè)結(jié)點(diǎn)時(shí),如果該結(jié)點(diǎn)對(duì)應(yīng)的子樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)不是當(dāng)前所遍歷的樹中該結(jié)點(diǎn)的父結(jié)點(diǎn),則判斷該結(jié)點(diǎn)是否屬于某個(gè)環(huán),如果該結(jié)點(diǎn)屬于某個(gè)環(huán),則將該結(jié)點(diǎn)對(duì)應(yīng)的子樹掛到當(dāng)前所遍歷的樹中的當(dāng)前結(jié)點(diǎn),繼續(xù)對(duì)該結(jié)點(diǎn)的子結(jié)點(diǎn)進(jìn)行進(jìn)一步的遍歷,并且任選地將該子樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)變更為當(dāng)前所遍歷的樹中該結(jié)點(diǎn)的父結(jié)點(diǎn)。
9.一種計(jì)算機(jī)可讀介質(zhì),存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,當(dāng)所述計(jì)算機(jī)可執(zhí)行指令被執(zhí)行時(shí),可操作來執(zhí)行根據(jù)權(quán)利要求1到8中任一項(xiàng)所述的方法。
10.一種計(jì)算裝置,其包含處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,當(dāng)所述處理器執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令時(shí),可操作來執(zhí)行根據(jù)權(quán)利要求1到8中任一項(xiàng)所述的方法。