[問題] 計概 C++
以下有小弟在寫考古題時遇到的問題 不確定自己寫的 想請麻煩高手解答 謝謝!
1.假設我們把讀進來的資料存於一個binary search tree (亦即:此tree 在
一開始時是空的,之後每讀進一筆資料就按照binary search tree 的規矩把這筆
資料加到此tree 之上(但不改變原先已經存在於這tree 之上的資料在tree 裡的
位置)),以方便日後search 之用。(a)請問為何使用binary search tree 可以有不
錯的search 的效率?(b)請問在worst case 時、建出來的tree 會長什麼樣?此
worst case 在什麼狀況之下會發生?
2.請問以下的程式碼會印出什麼(別忘了‘\n’的意義)?
int data[12] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
int i;
for ( i = 0 ; data[i] < 10 ; i+2)
data[i+(-1)*i] = data[11-i];
for ( i=0; i < 12; i++ )
printf("%d\n", data[i]);
3.假設我們在跑程式的時候發生某種run-time error,此時如果是
Windows 作業系統,就會跳出一個視窗,其內容大約是“xxxxx,此記憶體不
能為written”,其中的xxxxx 似為一記憶體位址;而如果是Linux/Unix 作業
系統,就會跳出一個視窗,其內容大約是“xxxxx,access violation”,其中的
xxxxx 似為一記憶體位址。假設我們所跑的程式之中有用到pointer,並假設
此問題是與pointer 的不當使用有關,請問這應該是怎麼一回事? (請盡量解
釋清楚。)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.155.101
噓
01/21 21:30, , 1F
01/21 21:30, 1F
討論串 (同標題文章)