1、static有什么用途?(請至少說明兩種)
(1).限制變量的作用域(變量、函數只能在該文件中使用)
(2).設置變量的存儲域 (在全局區分配內存)
2、引用與指針有什么區別?
1) 引用必須被初始化,指針不必。 (引用是給變量起一個別名,所以要指明是那么變量,使用int a;int &rc=a)
2) 引用初始化以后不能被改變,指針可以改變所指的對象。
3) 不存在指向空值的引用,但是存在指向空值的指針。 int &rc=NULL ; //ERROR
4)不能建立引用的引用,不能建立指向引用的
指針。因為引用不是一種數據類型,所以沒有引用的引用,沒有引用的指針。 但是可以建立指向指針的指針、
注意:可以建立指針的引用,相當于給指針起一個別名。
5)不能建立
數組的引用。因為數組是一個由若干個元素所組成的集合,所以無法建立一個數組的別名,但是可以建立指向數組的指針
3、描述實時系統的基本特性
在特定時間內完成特定的任務,實時性與可靠性(
時鐘信號能夠準確的定時) (所謂“實時操作系統”,實際上是指操作系統工作時,其各種資源可以根據需要隨時進行動態分配。由于各種資源可以進行動態分配,因此其處理事務的能力較強、速度較快。 早期的操作系統的各種資源都是事先已經分配好的,工作期間這些資源不能再重新進行分配。因此其處理事務的能力較差、速度較慢,現在則稱之為“非實時操作系統”。但“非實時操作系統”誕生時,其功能、性能等在當時也是非常強的,人們在未認識到更好的操作系統之前并不將其這樣稱呼。將來如果新的、功能更強的、實時性能更高的操作系統出現,也許現在稱之為“實時”的操作系統則可能將讓位于新的“實時操作系統”了。從這方面講“實時操作系統”是一個相對的概念的)
4、 全局變量和局部變量在內存中是否有區別?如果有,是什么區別?
全局變量儲存在靜態數據庫,局部變量在堆棧
那么有那些是全局變量呢?
(1)、外部變量 ,定義在函數(或者主函數)前。但其使用只能在定義后。加上在別的文件中使用要加上extent聲明。
(2)、static表明的全局的靜態變量。只在定義文件有效。、
局部變量包括三種類型:自動型(auto)、靜態型(static)和寄存器型(register)
auto型就是我們平時定義的類型,默認為auto
static表明為局部靜態變量,主要性能是只被初始化一次,下次進入該函數時該變量是上次運行結束后的值。
register作用是定義寄存器變量,為了讓變量計算速度更快。
5、什么是平衡二叉樹?
左右子樹都是平衡二叉樹 且左右子樹的深度差值的絕對值不大于1
掌握4種旋轉。
單向向右旋型:在結點左子樹插入左子樹。
單向向左旋型:在結點右子樹插入右子樹。
先左后右:在結點左子樹插入右子樹。
先右后左:在結點右子樹插入左子樹。
算法參考http://www.shnenglu.com/Cass/archive/2011/10/04/157454.html
6、堆棧溢出一般是由什么原因導致的? 舉例說明。
(堆棧溢出就是不顧堆棧中分配的局部數據塊大小,向該數據塊寫入了過多的數據,導致數據越界,結果覆蓋了老的堆棧數據。)
沒有回收垃圾資源
層次太深的遞歸調用
7、什么函數不能聲明為虛函數?
constructor //構造函數與析構函數
那么什么是虛函數、為什么說虛函數是實現面向對象的多態性參考http://www.shnenglu.com/Cass/archive/2011/09/30/157249.html
8、冒泡排序算法的時間復雜度是什么?
O(n^2)
那么,各種排序的復雜度分析如下:
(1)、冒泡排序:兩數比較,小的往前放大的往后。復雜度O(n^2) ,是一種穩定的排序算法、。
(2)、選擇排序:序列中選出最小(大)值,擺在前面。復雜度O(n^2) ,是一種不穩定的排序算法。
(3)、插入排序:O(n^2)。穩定
①、簡單直接插入:把序列分成兩斷。有序和無序。循環把無序段插入有序段。復雜度為O(n^2) ,是一種穩定的排序。需要后移元素。
②、折半排序:是直接排序與折半查找的結合。時間復雜度為O(n^2)。是穩定的排序
(4)、快速排序:設key=e[0].作為關鍵數據。兩個游標 K=1;J=N-1; J往前找第一個比Key小的元素,交換。K往后找第一個比key大的元素,交換
(5)、歸并排序:待排序序列分為若干個子序列,每個子序列是有序的,時間復雜度為O(nlogn),穩定
參考:http://www.shnenglu.com/Cass/archive/2011/10/13/158249.html
(6)、堆排序:O(nlogn)。 不穩定的排序算法
參考http://www.shnenglu.com/Cass/archive/2011/10/01/157298.html
(7)、基數排序:
(8)、希爾排序:
:
注意:判斷算法穩定排序的依據。
假定在待排序的記錄序列中,存在多個具有相同的關鍵字的記錄,若經過排序,這些記錄的相對次序保持不變,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,則稱這種排序算法是穩定的;否則稱為不穩定的。
///////////////////////////待續、
posted on 2011-10-12 00:21
Yu_ 閱讀(705)
評論(0) 編輯 收藏 引用 所屬分類:
The Interview