演算法與數據結構面試題
㈠ 數據結構筆試題
本文出自數據結構十套筆試題之第一套,本站為原創作品,轉載請註明出處,謝謝!
一、選擇題
1、棧和隊列的共同特點是( )。
A.只允許在端點處插入和刪除元素
B.都是先進後出
C.都是先進先出
D.沒有共同點
參考答案是:
歸並
㈡ 一道數據結構的演算法面試題
推薦樓主看《編程之美——微軟技術面試心得》。如果能把這本書里一些題目的來龍去脈搞清楚,面試數據結構和演算法方面的題目時會有更強的底氣。
㈢ 平時工作中都用不到數據結構演算法,為啥面試還會經常問呢這不是很搞笑么
有些無用功還是要做的
他就想看看你們接觸的知識層夠不夠全面
其次,就想聽聽你們是否能正確的把它表達出來,看起來是個無厘頭的問題,實際上你要是從容解決,那無疑是很加分的。
㈣ 數據結構面試試題編程題多嗎
大軟體公司對數據結構這方面的基礎要求是比較高的,找個面試題看看就知道。小公司就沒有那麼多要求了,但是一些基礎的演算法應該要掌握,比如快速排序,冒泡排序等。
㈤ dba面試會考數據結構與演算法和操作系統,計算機組成原理這些大學必修的課程嗎
網上那些dba面試題只能參考,不可過度依賴
我先問你一個問題:你是應屆生嗎?版
如果是,那麼你說的問題都會考權
如果你有2-3年經驗,那麼肯定不會考,取而代之的是問你一些以前在你工作過程中的遇到的問題或者項目或者操作等等
有什麼其他問題可以追問我
㈥ 數據結構(C#語言版)筆試試題與答案
《數據結構》期末考試試卷( A )
一、 選擇題(每小題2分,共24分)
1.計算機識別、存儲和加工處理的對象被統稱為( A )
A.數據 B.數據元素
C.數據結構 D.數據類型
2.棧和隊列都是( A )
A.限制存取位置的線性結構 B.順序存儲的線性結構
C.鏈式存儲的線性結構 D.限制存取位置的非線性結構
3.鏈棧與順序棧相比,比較明顯的優點是( D )
A.插入操作更加方便 B.刪除操作更加方便
C.不會出現下溢的情況 D.不會出現上溢的情況
4.採用兩類不同存儲結構的字元串可分別簡稱為( B )
A.主串和子串 B.順序串和鏈串
C.目標串和模式串 D.變數串和常量串
5. 一個向量第一個元素的存儲地址是100,每個元素的長度為2,則第5個元素的地址是:B
A. 110 B .108
C. 100 D. 120
6.串是一種特殊的線性表,其特殊性體現在:B
A.可以順序存儲 B .數據元素是一個字元
C. 可以鏈接存儲 D. 數據元素可以是多個字元
7.設高度為h的二叉樹上只有度為0和度為2的結點,則此類二叉樹中所包含的結點數至少為: C
A. 2h B .2h-1
C. 2h+1 D. h+1
軟體開發網 www.mscto.com
8.樹的基本遍歷策略可分為先根遍歷和後根遍歷;二叉樹的基本遍歷策略可分為先序遍歷、中序遍歷和後序遍歷。這里,我們把 由樹轉化得到的二叉樹叫做這棵樹對應的二叉樹。下列結論哪個正確? A
A. 樹的先根遍歷序列與其對應的二叉樹的先序遍歷序列相同
B .樹的後根遍歷序列與其對應的二叉樹的後序遍歷序列相同
C. 樹的先根遍歷序列與其對應的二叉樹的中序遍歷序列相同
D. 以上都不對
9.一個有n個頂點的無向圖最多有多少邊?C
A. n B .n(n-1)
C. n(n-1)/2 D. 2n
10.在一個圖中,所有頂點的度數之和等於所有邊數的多少倍?C
A. 1/2 B .1
C. 2 D. 4
11.當在二叉排序樹中插入一個新結點時,若樹中不存在與待插入結點的關鍵字相同的結點,且新結點的關鍵字小於根結點的關鍵字,則新結點將成為( A )
A.左子樹的葉子結點 B.左子樹的分支結點
C.右子樹的葉子結點 D.右子樹的分支結點
軟體開發網 www.mscto.com
12.對於哈希函數H(key)=key%13,被稱為同義詞的關鍵字是( D )
A.35和41 B.23和39
C.15和44 D.25和51
二、已知某棵二叉樹的前序遍歷結果為A,B,D,E,G,C,F,H,I,J,其中中序遍歷的結果為D,B,G,E,A,H,F,I,J,C。請畫出二叉的具體結構。(注意要寫出具體步驟)(10分)
原理見課本128頁
三、有圖如下,請寫出從頂點c0出發的深度優先及寬度優先遍歷的結果。(10分)
深度優先;C0-C1-C3-C4-C5-C2
寬度優先:C0-C1-C2-C3-C4-C5
四、有圖如下,按Kruskal演算法求出其最小生成樹。要求寫出完整的步驟。(10分)
原理見課本250頁
五、給定線性表(12,23,45,66,76,88,93,103,166),試寫出在其上進行二分查找關鍵字值12,93,166的過程。並寫出二分查找的演算法。(20分)
0 1 2 3 4 5 6 7 8
12 23 45 66 76 88 93 103 166
過程:
mid=(0+8)/2=4
high=3,low=0 mid=1
high=0,low=0 mid=0(找到12)
high=8,low=5,mid=6(找到93)
high=8,low=7,mid=7
high=8 low=8 mid=8
演算法:見課本84頁上
六、知單鏈表的結點結構為
Data next
下列演算法對帶頭結點的單鏈表L進行簡單選擇排序,使得L中的元素按值從小到大排列。
請在空缺處填入合適的內容,使其成為完整的演算法。 (可用文字說明該演算法的基本思想及執行的過程,10分)
void SelectSort(LinkedList L)
{
LinkedList p,q,min;
DataType rcd;
p= (1) ;
while(p!=NULL) {
min=p;
q=p->next;
while(q!=NULL){
if( (2) )min=q;
q=q->next;
}
if( (3) ){
rcd=p->data;
p->data=min->data;
min->data=rcd;
}
(4) ;
}
}
本題不會。嘿嘿。。。。
七、一個完整的演算法應該具有哪幾個基本性質?分別簡要說明每一性質的含意。(5分)
輸入:
四個基本性質:1.輸入:有零個或多個有外部提供的量作為演算法的輸入
2:輸出:演算法產生至少一個量作為輸出
3.:確定性:組成演算法的每條指令是清晰的,無歧異的。
4.:有限性:演算法中每條指令的執行次數是有限的,執行每條指令的時間也是有限的
八、何謂隊列的"假溢"現象?如何解決?(5分)
隊列的假溢現象是指數組實現的順序隊列中,隊尾指針已到達數組的下表上界產生上溢而隊頭指針之前還有若干 空間閑置的現象。解決的辦法之一是利用循環隊列技術使數組空間的首尾相連。
九、說明並比較文件的各種物理結構。(6分)
㈦ ~~~~~常見的數據結構面試題,幫忙解答!!
1.q->next=s;
s->next=p;
2.A/C(這題是考察對概念的理解,可參考第7題,「順序表才能隨即存取,回而鏈表不可以」)
3.D
4.C
5.B
6.A
7.A(此題絕對答選A,因為鏈表只能根據他的前一個結點才能找到下一個結點,不具備隨即訪問元素的功能)
8.C
9.n-i; n-i+1
聲明:本人正在學習數據結構,以上問題都經過反復查詢資料(還是比較有信心滴),假如有以為可以問我……
㈧ Java面試筆試,數據結構和演算法考到什麼程度
你說的那個數據結構不一定考的。 Java面試就那麼點東西,各個公司也不一樣。專 有的分筆試和機試。這屬些公司想看看實際面試人員的能力,節省了以後的時候。 筆試中,無非就是一些概念性的東西巴了。 比如:jsp是servlet嗎? servlet的生存周期;還有一些面向對象的知識。這些平常用心的話都沒問題,即使臨陣磨槍也行。 那麼機試就的要看你自己的能力了,對框架的屬性程度。還有就是在也不能常見的對數據 庫的CRUD也就是增刪改查操作。機試都好這口。 其實面試如果也沒筆試機試那麼就問幾道題的話,如果是技術人,幾道題下來就知道你的底子了,在問些邏輯上的也就知道要你還是不要你了。 在有你要對一些資料庫知識了解一些。 做java的 oracle 得達到掌握 sql server 了解就行 基本語法啥的就可以了 mysql 這個也得達到掌握 別的就不要會用到
㈨ Java面試筆試,數據結構和演算法考到什麼程度
你說的那個數據結構不一定考的。 Java面試就那麼點東西,各個公司也不一回樣。 答有的分筆試和機試。這些公司想看看實際面試人員的能力,節省了以後的時候。 筆試中,無非就是一些概念性的東西巴了。 比如:jsp是servlet嗎? servlet的生存周期;還有一些面向對象的知識。這些平常用心的話都沒問題,即使臨陣磨槍也行。 那麼機試就的要看你自己的能力了,對框架的屬性程度。還有就是在也不能常見的對數據 庫的CRUD也就是增刪改查操作。機試都好這口。 其實面試如果也沒筆試機試那麼就問幾道題的話,如果是技術人,幾道題下來就知道你的底子了,在問些邏輯上的也就知道要你還是不要你了。 在有你要對一些資料庫知識了解一些。 做java的 oracle 得達到掌握 sql server 了解就行 基本語法啥的就可以了 mysql 這個也得達到掌握 別的就不要會用到
㈩ 昨天面試被問到:你認為數學和數據結構對你的軟體開發有什麼好處
我個人認為數據結構和數學的學習,對軟體開發絕對有好處的。首先數學的學習最多的不是學回會怎麼樣算數學題答而是學會縝密的思維,而軟體的設計開發恰恰就需要這種縝密的思維,讓軟體設計的時候盡量避免出現大的錯誤,否則在後期的調整中會很困難。其次數據結構是軟體開發的靈魂,包括怎麼樣實現現有的演算法還有可以自己寫一些定製的演算法。
你以上說的比較籠統,認為你對軟體開發沒有一個整體的認識!可能會反映不太好!