最佳多页面导航

时间:2009-08-19 22:57:12

标签: algorithm navigation

我遇到过许多网站,甚至桌面应用程序都有一个面包屑类型控件来浏览信息页面。

例如,给定用户当前位于第N页的X页面,SOFU有一个面包屑控件,以下列形式显示页面导航:

(X[N-1])(X[0])...(X[N-2])(X[N-1])(X[N])(X[N+1])(X[N+2])...(X[X-1])(X[N+1])

我已经看过这种控件的各种变体。我想知道的是有一种优化这种控制的方法,因此用户可以在最少的跳转次数中导航到任何数据页面。我知道有明显的答案,例如允许用户指定页码或手工输入网址,但我正在考虑一个更具学术性的解决方案,其中没有替代方案。

我不是很聪明而且很擅长数学。任何想法甚至可以在没有暴力的情况下开始强制解决方案?

1 个答案:

答案 0 :(得分:1)

您可以将斐波纳契序列中的页面链接从当前页面添加到序列的开头和结尾,如下所示:

  

(X [0])...(X [N-8])...(X [N-5])...(X [N-3])(X [N-2]) (X [N-1])(X [N])(X [N + 1])(X [N + 2])(X [3])...(X [N + 5])... (X [N + 8])...(X [X-1])

我认为这会给你一个很好的空间链接比例,但它仍然需要充足的空间。如果这还不够好,你应该考虑一下你的用户对他们想要的页面的具体了解以及他们可以容忍的页面链接数量。