作者rx10a (奶油溅兔)
看板TransCSI
标题[问题] 计概 C++
时间Sun Jan 13 23:32:39 2008
以下有小弟在写考古题时遇到的问题 不确定自己写的 想请麻烦高手解答 谢谢!
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
1F:嘘 illfedMan:夏老大教那麽好还不会写 学弟太混了喔 刚好这次都没出.. 01/21 21:30