原创 算法導論9.3-8 找出已排序的2個數組X[1..n]和Y[1..n]的共2n個數的中位數

//O(nlgn)找sorted的X[1..n]和Y[1..n]的共2n個數的中位數 //先排序,再找第n大的數(下中位數) #include<stdio.h> #include<stdlib.h> #include<algorithm>

原创 同時找出數組的最大值和最小值

雖說第一個方法在時間複雜度的分析上比第一個要少n/2,但是我在電腦上測試的結果,運行時間是差不多的。搞不懂~ //樸素算法:分別找出最大值和最小值。2n次比較 #include<stdio.h> int A[50000010]; int

原创 玩家數據重置的幾種策略

玩家數據重置是遊戲邏輯裏永恆的話題。歷經歲月的洗禮,到目前爲止,我發現(注意!是發現,不是發明!)了3種實現方法。現在,項目裏玩家數據重置的時間是每天0點。 方法1: 記錄上次重置時間last_reset_time,若last_reset

原创 玩家數據重置問題的思考

問題描述:有一個參與度很高的活動,玩家的數據是每天重置的。時常有玩家抱怨,他們的活動數據會無緣無故地重置。經常就是,半夜玩了一段時間,白天再上線,打開界面看到,奮鬥的成果全沒了!What? 先簡要介紹該活動的重置機制實現。(以下爲Erla

原创 MY HOPES OF COMPUTING SCIENCE Edsger W.Dijkstra

http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EWD709.html

原创 帶哨兵的雙向鏈表

//帶哨兵的雙向鏈表 #include<stdio.h> #include<stdlib.h> typedef struct NODE{ struct NODE*prev;char key;struct NODE*next; }N

原创 10.2-3 用單鏈表實現隊列

//用單鏈表實現隊列,設head和tail指針 #include<stdio.h> #include<stdlib.h> typedef struct NODE{ char key;struct NODE* next; }NODE

原创 min heap priority queue 最小堆實現的優先隊列

#include<stdio.h> #include<algorithm> #include<limits.h> int A[10000000]; using namespace std; inline int PARENT(int i)

原创 算法導論 10.2-6 帶哨兵的雙向鏈表合併兩個不相交的集合

/* O(1)合併S1、S2。S1、S2集合不相交。 */ /*需要能在O(1)時間內訪問到S1、S2的頭和尾的鏈表: 帶頭結點和尾結點的單鏈表;雙向循環鏈表。*/ //帶哨兵的雙向鏈表:S1頭接S2尾,S2頭接S1尾。 #in

原创 不帶哨兵的雙向鏈表

//不帶哨兵的雙向鏈表 #include<stdio.h> #include<stdlib.h> typedef struct NODE{ struct NODE*prev;char key;struct NODE*next; }

原创 歡迎使用CSDN-markdown編輯器

limn→∞∑k=1n1k2=π26 ∀x∈R:x2≥0 證明:∑k=2n−1klgk≤12n2lgn−18n2 點贊 收藏 分享 文章舉報 yuanjianchua

原创 10.1-6 兩個棧實現一個隊列

/*兩個棧實現一個隊列 設兩個棧爲s1,s2 入隊:元素入棧到s1。 出隊:若s2非空,彈出s2棧頂元素;否則, 將s1的所有元素倒入s2(s1棧底元素會到s2棧頂),再彈出s2棧頂元素*/ #include<cstdio> #inclu

原创 10.1-7 兩個隊列實現一個棧

/*兩個隊列實現一個棧 設兩個隊列爲q1,q2 入棧、出棧操作完成後,都會至少有一個隊列爲空。 入棧:元素入隊到非空隊列(若q1,q2都空,入任意一隊) 出隊:非空隊列Q的元素出隊,入隊到空隊列eQ。 當非空隊列Q剩下一個元素時,直接出隊

原创 10.1-2 在一個數組A[1..n]中實現兩個棧,使得兩個棧元素個數之和不爲n時,兩者不會上溢

/*在一個數組A[1..n]中實現兩個棧,使得兩個棧 元素個數之和不爲n時,兩者不會上溢*/ #include<stdio.h> #define n 6 typedef char ElemType; typedef int bool; E

原创 描述一個運行時間爲O(nlgn)的算法,使之能在給定一個由n個整數構成的集合S和另一個整數 X 時,判斷出S中是否存在有兩個其和剛好等於 X 的元素。

/*暴力O(n^2):n個整數的集合S和另一個整數x, 確定S中是否存在兩個其和剛好爲x的元素 */ #include<stdio.h> int S[1000000]; int judge(int S[],int n,int x) {