1樓:建爾巨集尚
實際上游戲上的排行榜,比如戰力,金幣等,大家只關注最前面的n名,沒有必要進行全服排序。沒到這個範圍的,可以提示比如」百名開外」這樣的用詞。
做了這個設計上的簡化之後,這就是乙個堆排序的top n的問題了。
至於其他人提到的可以做全域性排序的方案,你權且看看當開闊眼界吧。做產品的時候,還是先找平衡的方式實現需求,而不是為謹宴了炫技。
離線排序,就是給你乙個陣列,你把它排好序,然後萬事大吉。
這種排序直接std::sort,因此下面不談祥絕銀。
提供兩種思路。
一、平衡樹。
平衡樹中,查詢乙個節點的排名是 的複雜度(對每個節點記下子樹大小)題目描述中的有序連結串列思路,我懷疑題主根本沒有實現過。因為普通連結串列是不能二分的巨集雀,需要使用「跳錶」——平衡樹的一種。
使用平衡樹,上述四種操作均可以 完成。常數較大。<>
2樓:網友
如果乙個人的分數為c。
插入:w[c]加1, .
刪除:w[c]減1, .
修改分數為d:w[c]減1,w[d]加1, .
查詢排名:輸出w[c+1,max]的區間和, .
由於樹狀陣列常數小,因此比平衡樹稍快。
這個做法的特點是:無論有多少個人,我們都需要開max的空間,而且上面的(值域大小).
在人數很少或者值域很大的時好頃候,這個演算法是不優秀的——前者浪費時間,後者浪費空間。
但如果值域小(例如,所有人的分數都在100000以內),權值樹狀陣列的優勢會立刻體友高陸現出來:
即使有二十億個人,上面的n仍然控制在10w,時間優勢很大(平衡樹的這個n會變成20億);空間仍然只佔用10w個int,不會由於人多而爆空間。
缺點是,值域不允許小數。(可以乘上……來解決,然而這樣值域也會暴漲念察)<>
3樓:花木蘭
其實方法很簡單,但是要看你的這個遊戲伺服器裡到底有多少人,總共有多少人,如果人數只有千把個人的話只是那就很簡單啦,你手工排也沒關係,如果是有一千萬人,兩千萬人,這樣的話你就該用到,嗯,一些特別的統計資料的工具或者一些軟體了。
如果要對所有的服務玩家進行排名的話,首先你要有臺電腦,它的記憶體還要非常的大,我們來計算一下多少人需要多少記憶體,比如說你只有大概兩千萬人吧,然後每個遊戲玩家話是256位元組那你2000萬人的話也就需要五g的記憶體。
如果你的整個遊戲非常的火,像什麼英雄聯盟啊,或者是其他一些現在比較熱門的遊戲的話,假如考慮你有兩億的使用者,那麼你就需要大概50g的記憶體。如果你的使用者量真的是非常的大的話,比如說那些小遊戲,什麼核信鬥地主啦,愛消除啦,還有那些飛車遊戲之類的,這些的話你可能需要幾臺電腦一起幫你運作去計算這個排名。
其實吧,我建議你對全部的玩家進行排名是沒有必要的,因為有些玩家只是試試水兒,也嘗試嘗試雀衝,你這個好不好玩,如果你都特頃氏殲別的認真的去把它們當做乙個玩下去排名的話,你真的要放耗費大量的成本和人力物力,那還不如建議你就排在前一百名或兩百名,把真正玩的好的拍出來,人家才這樣,人家才會覺得有價值,才會有繼續想玩下去的慾望,所以別想著對全部伺服器的玩家進行排名,就真的是乙個不太聰明的舉動。
打遊戲全伺服器第二名什麼意思
4樓:他打嗝十里飄香
全伺服器是指你的遊戲角色在全基空部服區(看遊戲現在開多少服區,有的幾個,有的十幾個,有的上百個)中玩家的排名第2--具體是什麼排名你需要看下--戰力排名、裝備排名、等級排名等。
一般都有獎勵的。
以下是橋伍熱門手搏消瞎機遊戲-魔獸無雙的等級獎勵。
5樓:匿名使用者
這個伺服器你是老二。
遊戲伺服器是怎麼架設的怎麼架設遊戲伺服器?
地區遊戲服務一般都是很多年前出現的了,當年受遊戲伺服器地理侷限才會出現地區太遠可能網路不通暢的原因,現在大部分服務商已經解決了這些問題所以很少會初學地區選擇的問題。遊戲伺服器架設是在特定伺服器上架設特定遊戲咯 一般有遊戲版本,懂基本配置方法,就可以架設網路遊戲了。現在這個年代遊戲架設已經不是難事了。...
有沒有高手,懂得,網咖架設遊戲伺服器的
上樓真垃圾,人家說的iscsi1.3 人家說的 遙志網咖硬碟共享專家iscsi cake 最新更新時間2005 12 25 遙志網路硬碟共享專家iscsi cake 最優秀的基於windows平臺的iscsi 伺服器,國內率先解決多網絡卡 多ip地址和跨網段問題的iscsi伺服器。主要用於網咖共享硬...
架設網頁遊戲伺服器需要什麼條件架設網頁遊戲伺服器需要什麼樣的配置
看你是copy開服,還是私人和朋友玩 bai!如果是開服du 你需要去租或買伺服器 租的話,如果是zhi一般的大概一dao個月500 800左右,買的話就很貴了,不過一般租就夠了 和網頁遊戲的服務端或有原始碼自己編譯。如果自己或朋友玩就不需要伺服器了。自己的電腦配置一般就可以了,但遊戲端是必需的!至...