论坛: 编程破解 标题: 面试题,有没有人给标准答案啊 复制本贴地址    
作者: kert_t8 [kert_t8]    论坛用户   登录
   ★链接表和数组之间的区别是什么?

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

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

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

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

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

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

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

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

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

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

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

  ★假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不用这种方式的算法吗?

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



[此贴被 月之御者(kert_t8) 在 10月29日23时12分 编辑过]

地主 发表时间: 05-10-29 22:59

回复: xfcy800 [xfcy800]   论坛用户   登录
都好难,最后一道是不是用左移来解决?

B1层 发表时间: 05-11-02 11:30

回复: virgoshaka [virgoshaka]   论坛用户   登录
我觉得是,增大8倍左移3位,增大7倍左移3位-原数
最后第二道第一问好像复制一遍数组就可以了啊?
第二问没想出来。。。。。

[此贴被 处女座的沙加(virgoshaka) 在 11月02日13时34分 编辑过]

B2层 发表时间: 05-11-02 13:31

回复: kert_t8 [kert_t8]   论坛用户   登录
倒数第二题应该是把所有的数加起来
最后一个题是对的吧。只是不知道减法算不算在加法中

引用:

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

这个我搞不懂,以前好像在哪见过,但是....

B3层 发表时间: 05-11-02 20:30

回复: virgoshaka [virgoshaka]   论坛用户   登录
        倒数第二题应该是把所有的数加起来

有道理哦!!!!!!!!!!!!!

“我叫克丽丝”转换为“克丽丝叫我”,这好像是链表倒向的问题啊,从头遍历一遍链表,把指针倒向,复杂性O(n)就可以的,不知道对不对?


B4层 发表时间: 05-11-02 21:09

回复: kert_t8 [kert_t8]   论坛用户   登录
不是不是
你那样做出来就变成 “丝丽克叫我”了

B5层 发表时间: 05-11-03 09:56

回复: virgoshaka [virgoshaka]   论坛用户   登录
啊哦。。。。。


B6层 发表时间: 05-11-03 12:01

回复: virgoshaka [virgoshaka]   论坛用户   登录
我觉得这取决于他本来用什么数据结构的
如果用字符数组,好像挺麻烦。。。。当然5个字不麻烦,但如果是个很长的句子的话就郁闷了
如果用链表,我觉得可以把构成同一个词的字符当作一个结点的,比如“克丽丝”,这样就可以倒向了,呵呵
还有,比如句子“飞机从天上飞过”,应该可以把“飞机”“从”“天上”“飞过”当4个结点,要转换为“从天上飞过飞机”也相对容易了。。。

好像我说的句子都挺傻的?呵呵

B7层 发表时间: 05-11-03 12:48

回复: xtsyiu [xtsyiu]   论坛用户   登录
颠倒一个字符串。优化速度。优化空间。
  这个问题我觉得用一个二分交换比较好!




B8层 发表时间: 05-11-05 14:35

回复: kert_t8 [kert_t8]   论坛用户   登录
这个,我觉得他肯定用的是一个char[]

二分交换是什么

B9层 发表时间: 05-11-05 20:46

回复: sgzhou1235 [sgzhou1235]   论坛用户   登录
这都是操作系统的问题,我也想不起来了,
你还是查查资料吧

B10层 发表时间: 05-12-05 14:02

回复: sniper167 [sniper167]   论坛用户   登录
★链接表和数组之间的区别是什么?
个人认为:数组在建立的时候需要指定其大小,指定后不能改变,而链表在建立的时候不用指定其大小,而且以后可以改变起大小,进行插入,删除操作

B11层 发表时间: 05-12-06 14:30

回复: sniper167 [sniper167]   论坛用户   登录
★假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不用这种方式的算法吗?
个人认为:月之御者 [kert_t8] 的方法简单,我还没想出比他的方法更简单的方法

★不用乘法或加法增加8倍。现在用同样的方法增加7倍。
个人认为:左移3位再减去这个数

B12层 发表时间: 05-12-06 14:45

回复: sniper167 [sniper167]   论坛用户   登录
★颠倒一个字符串。优化速度。优化空间。
个人认为:把第一个字符跟最后一个交换,第二个跟倒数第二个交换。。。  如此直到strlen(str)/2        占用一个辅助存储量,交换strlen(str)/2次
还请高人指教跟优的算法

B13层 发表时间: 05-12-06 15:11

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号