1檬某、已知數(shù)據(jù)表A中每個(gè)元素距其最終位置不遠(yuǎn)糜颠,為節(jié)省時(shí)間排序裹匙,應(yīng)采用什么方法排序疯攒?
A:堆排序
B:插入排序
C:快速排序
D:直接選擇排序
答案是B
解析:
插入排序:如果平均每個(gè)元素離最終位置相距c個(gè)元素儿惫,則其復(fù)雜度為O(cn)澡罚,一共n趟,每次比較c次肾请;
快速排序:最好的留搔、平均的復(fù)雜度都是O(nlog(n)),如果每次選擇的中間數(shù)都最小或最大筐喳,那就是最壞的情況催式,復(fù)雜度是O(n^2)函喉;所以快速排序和元素的位置沒有關(guān)系,跟選擇的中間數(shù)有關(guān)荣月。
堆排序:復(fù)雜度一直是O(nlog(n));
直接選擇排序:跟元素位置沒有關(guān)系管呵,都要遍歷n遍,每遍找出最小或最大數(shù)來哺窄,復(fù)雜度是O(n^n)捐下;
2、有2n個(gè)人排隊(duì)進(jìn)電影院萌业,票價(jià)是50美分坷襟。在這2n個(gè)人當(dāng)中,其中n個(gè)人只有50美分生年,另外n個(gè)人有1美元(紙票子)婴程。愚蠢的電影院開始賣票時(shí)1分錢也沒有。
問: 有多少種排隊(duì)方法 使得 每當(dāng)一個(gè)擁有1美元買票時(shí)抱婉,電影院都有50美分找錢
注: 1美元=100美分,擁有1美元的人档叔,擁有的是紙幣,沒法破成2個(gè)50美分.
A.(2n)!/[n!n!]
B.(2n)!/[n!(n+1)!]
C.(2n)!/[n!(n-1)!]
D.(2n + 1)!/[n!(n-1)!]
答案是B蒸绩,有關(guān)解釋:
http://blog.csdn.net/jiejinquanil/article/details/52153045
3衙四、連續(xù)整數(shù)之和為1000的共有幾組?(m患亿,n都為整數(shù)传蹈,單獨(dú)1個(gè)數(shù)也算作“連續(xù)整數(shù)”)
答案是4組
解析:
從m加到n和是1000,求和公式為:(m+n)(n-m+1)/2=1000步藕;可以得到(m+n)(n-m+1)=2000惦界,2000/2=1000,1000/2=500漱抓,500/2=250表锻,250/2=125(此時(shí)不能被2分解了);125不能被奇數(shù)3分解但是可以被5分解乞娄,125/5=25瞬逊,25/5=5,5/5=1仪或,分解完畢确镊。于是2000=24*53;為一個(gè)奇數(shù)和一個(gè)偶數(shù)之積,那么m+n和n-m+1哪個(gè)是偶數(shù)哪個(gè)是偶數(shù)呢范删,可見(m+n)>(n-m+1)蕾域,所以可以認(rèn)為m+n=5^3, n-m+1=2^4, 此時(shí)如果
m+n=5^0=1,則n-m+1=2000,可得n=1000旨巷,m=-999巨缘,則-999+-998+。采呐。若锁。+1000=1000,符合
m+n=5^1=5,則n-m+1=400斧吐,可解
m+n=25又固,n-m+1=800,可解
m+n=125煤率,n-m+1=8仰冠,可解。
總計(jì)四個(gè)蝶糯!
4洋只、若以{4,5,6,7,8}作為葉子結(jié)點(diǎn)的權(quán)值構(gòu)造哈夫曼樹,則其帶權(quán)路徑長度是()
答案是69
5裳涛、