看板 TransCSI 關於我們 聯絡資訊
※ 引述《rx10a (奶油濺兔)》之銘言: : 以下有小弟在寫考古題時遇到的問題 不確定自己寫的 想請麻煩高手解答 謝謝! : 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]); 9 1 2 3 4 5 6 7 8 9 10 11 12 應該是這樣吧 : 3.假設我們在跑程式的時候發生某種run-time error,此時如果是 : Windows 作業系統,就會跳出一個視窗,其內容大約是“xxxxx,此記憶體不 : 能為written”,其中的xxxxx 似為一記憶體位址;而如果是Linux/Unix 作業 : 系統,就會跳出一個視窗,其內容大約是“xxxxx,access violation”,其中的 : xxxxx 似為一記憶體位址。假設我們所跑的程式之中有用到pointer,並假設 : 此問題是與pointer 的不當使用有關,請問這應該是怎麼一回事? (請盡量解 : 釋清楚。) -- 衝個人氣吧 http://www.wretch.cc/album/steter2002 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.179.124