1、線形表a、b為兩個有序公升序的線形表,編寫一程式,使兩個有序線形表合併成乙個有序公升序線形表h;
2、運用四色定理,為n個局域舉行配色,顏色為1、2、3、4四種,另有陣列adj[n],如adj[i][j]=1則表示i區域與j區域相鄰,陣列color[n],如color[i]=1,表示i區域的顏色為1號顏色。
3、用遞迴演算法判斷陣列a[n]是否為乙個遞增陣列。
4、編寫演算法,從10億個浮點數當中,選出其中最大的10000個。
5、編寫一unix程式,防止殭屍程序的出現.
同學的4道面試題,應聘的職位是搜尋引擎工程師,後兩道超級難,(希望大家多給一些算發)
1.給兩個陣列和他們的大小,還有一動態開闢的記憶體,求交集,把交集放到動態記憶體dongtai,並且返回交集個數
long jiaoji(long* a,long b,long* alength,long blength,long* dongtai)
2.單連表的建立,把'a'--'z'26個字母插入到連表中,並且倒敘,還要列印!
3.可怕的題目終於來了
象搜尋的輸入資訊是乙個字串,統計300萬輸入資訊中的最熱門的前十條,我們每次輸入的乙個字串為不超過255byte,記憶體使用只有1g,
請描述思想,寫出算發(c語言),空間和時間複雜度,
4.國內的一些帖吧,如baidu,有幾十萬個主題,假設每乙個主題都有上億的跟帖子,怎麼樣設計這個系統速度最好,請描述思想,寫出算發(c語言),空間和時間複雜度,
時間問題,我不發**了,但這些問題書上都有,我給你說一下書名
1、線形表a、b為兩個有序公升序的線形表,編寫一程式,使兩個有序線形表合併成乙個有序公升序線形表h;
答案在 請化大學 嚴銳敏《資料結構第二版》第二章例題(有錯字不好意思 下同)
2、運用四色定理,為n個局域舉行配色,顏色為1、2、3、4四種,另有陣列adj[n],如adj[i][j]=1則表示i區域與j區域相鄰,陣列color[n],如color[i]=1,表示i區域的顏色為1號顏色。
答案在 中國水利出版社 引進的一套國外《資料結構》教材上,單蘭色的封皮(這套書包括作業系統(利用的minux),多**都有,估計有年歲了)
3、用遞迴演算法判斷陣列a[n]是否為乙個遞增陣列。
這個我沒在教才上看到過 但不難!!
一會貼**
4、編寫演算法,從10億個浮點數當中,選出其中最大的10000個。
用外部排序,在《資料結構》書上有!!!
5、編寫一unix程式,防止殭屍程序的出現.
你說的 殭屍程序 是死鎖嗎?unix程式我不會
1.給兩個陣列和他們的大小,還有一動態開闢的記憶體,求交集,把交集放到動態記憶體dongtai,並且返回交集個數
long jiaoji(long* a,long b,long* alength,long blength,long* dongtai)
這個我沒在教才上看到過 但不難!!
一會貼**
2.單連表的建立,把'a'--'z'26個字母插入到連表中,並且倒敘,還要列印!
這個有點讀不懂
3.可怕的題目終於來了
象搜尋的輸入資訊是乙個字串,統計300萬輸入資訊中的最熱門的前十條,我們每次輸入的乙個字串為不超過255byte,記憶體使用只有1g,
請描述思想,寫出算發(c語言),空間和時間複雜度,
的確可怕,
4.國內的一些帖吧,如baidu,有幾十萬個主題,假設每乙個主題都有上億的跟帖子,怎麼樣設計這個系統速度最好,請描述思想,寫出算發(c語言),空間和時間複雜度.
的確可怕,
1、線形表a、b為兩個有序公升序的線形表,編寫一程式,使兩個有序線形表合併成乙個有序公升序
二路歸併,不難
2、運用四色定理,為n個局域舉行配色,顏色為1、2、3、4四種,另有陣列adj[n],如adj[i][j]=1則表示i區域與j區域相鄰,陣列color[n],如color[i]=1,表示i區域的顏色為1號顏色。
可轉化位圖論問題,將各個區域視為圖上的點,相鄰的點之間連上一條線,構成乙個無向圖,可得其鄰接矩陣,根據鄰接矩陣得色數.
3、用遞迴演算法判斷陣列a[n]是否為乙個遞增陣列。
樓上有正解
4、編寫演算法,從10億個浮點數當中,選出其中最大的10000個。
用快排.可先從10億個浮點數當中選出第10000大的數,設位m,在選m位基值,利用一趟快速排序,m
之後的數即為所求.
1.給兩個陣列和他們的大小,還有一動態開闢的記憶體,求交集,把交集放到動態記憶體dongtai,並且返回交集個數
long jiaoji(long* a,long b,long* alength,long blength,long* dongtai)
我想到的是蠻力法,時間複雜度位o(alength*blength);想必大家都知道了!
2.單連表的建立,把'a'--'z'26個字母插入到連表中,並且倒敘,還要列印!
在建立單鏈表的時候使之逆序,不難.
3.可怕的題目終於來了
象搜尋的輸入資訊是乙個字串,統計300萬輸入資訊中的最熱門的前十條,我們每次輸入的乙個字串為不超過255byte,記憶體使用只有1g,
請描述思想,寫出算發(c語言),空間和時間複雜度,
255byte*300萬<1g;也就是說可全部調進輸入資訊,利用pagerank演算法實行頻率統計,排序即可.
注:pagerank演算法受google專利保護,看不到源**.
1、線形表a、b為兩個有序公升序的線形表,編寫一程式,使兩個有序線形表合併成乙個有序公升序線形表h;
已知:a[0]b[j])
else
for(i=0;i<20;i++)
printf("%d ",h[i]);
getch();
}//單連表的建立,把'a'--'z'26個字母插入到連表中,並且倒敘,還要列印!
node *p = null;
node *q = null;
node *head = (node*)malloc(sizeof(node));
head->data = ' ';head->next=null;
node *first = (node*)malloc(sizeof(node));
first->data = 'a';first->next=null;head->next = first;
p = first;
int longth = 'z' - 'b';
int i=0;
while ( i<=longth )
print(head);
其實第四題這樣的題目樓上沒有人說對。
說是從10億個數中選,實際上是說數很多。當然用外部排序是乙個方法。
估計想考的是看你會不會二叉排序樹。
10000個最大的數,就是10000個結點,這個記憶體是可以裝下的。
但10億個數就要從外部檔案讀出來了。每讀入乙個/組,就試圖將之放入排序樹中。等10億個數全讀完了,10000個結點按中序輸出就行了。
我還在csdn中見過類似的題目,答案也是二叉排序樹,好像沒人回答出來。
象搜尋的輸入資訊是乙個字串,統計300萬輸入資訊中的最熱門的前十條,我們每次輸入的乙個字串為不超過255byte,記憶體使用只有1g,
請描述思想,寫出算發(c語言),空間和時間複雜度,
這道題不是很難吧,用雜湊的方法,將這些字串雜湊到不同的桶中,然後判斷那個最多就行了
關於第4題的我寫的程式
#include
#include
#define max 1000000 //設定總數,我這裡設定了一百萬,也可以到一千萬,一億的話記憶體受不了,但是我的程式是序列讀出資料的,所以也是可以處理更大的資料的,這裡全部放在資料裡是為了方便
#define top 1000
void quicksort(int array[ ],int left,int right)
}else
if(i!=right)
quicksort(array,left,i-1);
quicksort(array,i+1,right);}}
}int main()
else
}if(itemp2)
else
}j = h;
} //i>100了,選擇排在100名後的分割數的操作完畢
}sum++;
temp = temp2;
} }
}cout< *m_vbuf.begin() )
}std::setm_vbuf;
};剩下的, 就是把所有資料過一遍這邊就ok了。
前端工程師與SEO搜尋引擎優化
如何做到扁平化結構 1.控制首頁鏈結數量。首頁權重很高,要好好利用,太少了浪費,太多了影響使用者體驗。中小型 鏈結數不要超過100個。鏈結要是 結構所需,要建立在使用者的良好體驗上,是要引導使用者操作,不要為了鏈結而堆砌不必要的鏈結。2.扁平化的目錄層次,要使搜尋引擎程式跳轉3次就能到達 的任何乙個...
新浪php工程師面試題
1 cookie session的聯絡和區別,多台web伺服器如何共享session?2 http協議中的post和get有何區別?3 一段php 寫出輸出結果 這個程式 a 0 b 0 if a 3 0 b 3 0 4 reqiure的include都可包含檔案,二者的區別何在?5 php中web...
大資料工程師面試題
你曾經參與或主導過哪些大資料型別的專案?專案目標是什麼?你具體擔負的哪個角色?使用哪些演算法?使用哪些統計方法?如果解決使用者商品匹配的話,你會採用什麼型別的模型?二部圖模型有什麼缺陷?對應有什麼改進模型?標籤系統有什麼特徵?有什麼問題?使用者行為分析有什麼模型?說說你曾經專案中的模型迭代過程?成功...