background image

解释:第一行只是让它们离开各自的降落伞。必须让它们离开自己的降落伞,这样后面的火车才能发现前面火

车的降落伞,这样就满足了一个条件,它们就可以跳出起初遵守的编码。它们起初都在 A 这部分循环,直到后面的火

车发现前面火车的降落伞,这时就转入 B:并陷入 B 的循环。前面的火车还是没有找到降落伞,所以就不停地在 A 里

面循环。由于每行编码都有一定的执行命令时间,完成 A 循环就比完成 B 费时,因此后面的火车(在 B 循环中)最终将

赶上前面的火车。

运算

★链接表和数组之间的区别是什么?

★做一个链接表,你为什么要选择这样的方法?

★选择一种算法来整理出一个链接表。你为什么要选择这种方法?现在用 O(n)时间来做。

★说说各种股票分类算法的优点和缺点。

★用一种算法来颠倒一个链接表的顺序。现在在不用递归式的情况下做一遍。

★用一种算法在一个循环的链接表里插入一个节点,但不得穿越链接表。

★用一种算法整理一个数组。你为什么选择这种方法?

★用一种算法使通用字符串相匹配。

★颠倒一个字符串。优化速度。优化空间。

颠倒一个句子中的词的顺序,比如将 我叫克丽丝 转换为 克丽丝叫我 ,实现速度最快,移动最少。

★找到一个子字符串。优化速度。优化空间。

★比较两个字符串,用 O(n)时间和恒量空间。

★假设你有一个用 1001 个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在 1 到

1000(包括 1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处

理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不用这种方式的算法吗?

★不用乘法或加法增加 8 倍。现在用同样的方法增加 7 倍。

 

应用

★如何将计算机技术应用于一幢 100 层高的办公大楼的电梯系统上?你怎样优化这种应用?工作日时的交通、楼

层或时间等因素会对此产生怎样的影响?

★你如何对一种可以随时存在文件中或从因特网上拷贝下来的操作系统实施保护措施,

防止被非法复制?

★你如何重新设计自动取款机?

★假设我们想通过电脑来操作一台微波炉,你会开发什么样的软件来完成这个任务?

★你如何为一辆汽车设计一台咖啡机?

★ 如果你想给微软的 Word 系统增加点内容,你会增加什么样的内容?