新西兰天维网社区

标题: 各种编程高手HELP! pseudocode programming test [打印本页]

作者: 画中人    时间: 2012-10-9 13:04:50     标题: 各种编程高手HELP! pseudocode programming test

如题,接到一个面试通知,是一个小的pseudocode programming test。请问需要如何准备?有什么网站练习题之类的可以推荐吗?求高手指点。
作者: joyjoyjoy    时间: 2012-10-9 14:08:06

果断抢沙发。。。。。。。
作者: hejie7225982    时间: 2012-10-9 14:41:10

板凳是我的{:8_493:}
作者: ken454    时间: 2012-10-9 15:28:14

本帖最后由 ken454 于 2012-10-9 16:30 编辑

pseudocode programming 考察你处理事情的逻辑能力,并不考真正编程语言。但是如果你不会真正的编程语言,也比较难处理。比如求一个数是否是质数,伪代码:
define N as a integer number
let N equals the input number
let a integer number I = 2 to N-1
    if the remainder of N/i is 0 then
        N is NOT a prime number
        return
    end if
get next i
N is a prime number
看到了,伪代码根本没有标准答案,说明白了就行。
作者: 画中人    时间: 2012-10-9 16:33:28

ken454 发表于 2012-10-9 16:28
pseudocode programming 考察你处理事情的逻辑能力,并不考真正编程语言。但是如果你不会真正的编程语言,也 ...

谢谢楼上的!是不是为了这样一个考试,我还得去专门学一下pseudocode 的写法呀? 还是说写出处理的逻辑即可?
作者: AdrianLiu729    时间: 2012-10-9 16:51:15

画中人 发表于 2012-10-9 17:33
谢谢楼上的!是不是为了这样一个考试,我还得去专门学一下pseudocode 的写法呀? 还是说写出处理的逻辑即 ...

看看算法书上面的伪代码就好了
作者: 画中人    时间: 2012-10-9 16:56:26

AdrianLiu729 发表于 2012-10-9 17:51
看看算法书上面的伪代码就好了

谢谢你!~~~~~~
作者: 画中人    时间: 2012-10-9 17:09:32

本帖最后由 画中人 于 2012-10-9 18:15 编辑

。。。。。。。。。。。。
作者: S2000    时间: 2012-10-9 21:59:53

你会什么语言就用什么语言写,关键是表达出意思
作者: 画中人    时间: 2012-10-9 22:11:09

S2000 发表于 2012-10-9 22:59
你会什么语言就用什么语言写,关键是表达出意思

所以不必刻意去学伪代码语言吗?
作者: S2000    时间: 2012-10-9 22:19:35

画中人 发表于 2012-10-9 23:11
所以不必刻意去学伪代码语言吗?

你也知道是伪代码了,那它就不是一种语言,也并没有标准格式,通常都是借用某一种其他语言的语法,加上自然英语作描述,并且省略不必要的细节就行了
作者: 乘龙鸟    时间: 2012-10-9 22:21:57

伪代码编程测试的核心在于考察受试者对常用算法的掌握程度及数理逻辑能力的高低。建议楼主恶补一下算法课程,加强一下对时间复杂度的理解。

在答题时尽量避免时间复杂度O(n)的穷举(Brute Force)逻辑。几乎100%的问题都可以有优化的算法的。比如地板提到的判断质数问题,ken454给出了一个清晰明了的伪代码示例。这个例子很好地展示了什么叫伪代码,不过如果在真正的测试中给出这个答案就要坏事情了:这是个典型的O(N) Brute-Force Logic。

稍微优化一点的算法是:先判断是否大于2,是否给2整除,然后逐一检查是否给小于它自己的奇数整除。这个算法节省了对所有大于2的偶数的检查,时间复杂度为O(N/2)。就是说计算时间是前面算法的一半。
伪代码:
bool isPrime(int n)
{
    if n < 2 then return false;
    if n == 2 return true;
   
    for (int i = 3; i < n; i += 2)
    if n mod i == 0 return false;

    return true;
}

更尤的算法还有O(sqrt(n)/2) 甚至O(1)的。那都是非常专业的了。

仓促回复,希望对楼主的测试有帮助。
作者: CHNNO1    时间: 2012-10-9 22:47:41

没什么,这种考的是一般编程方法和思维。不针对某一语言,不会太深入。放松点,自信点。
作者: AdrianLiu729    时间: 2012-10-9 22:47:53

乘龙鸟 发表于 2012-10-9 23:21
伪代码编程测试的核心在于考察受试者对常用算法的掌握程度及数理逻辑能力的高低。建议楼主恶补一下算法课程 ...

顶一下!伪代码就是考算法
作者: mgames    时间: 2012-10-9 23:16:19

根本就没有伪代码语言这个玩意
任意写,用日常语言都可以,简练一点就多用些编程语言的key word
作者: 画中人    时间: 2012-10-10 08:46:59

乘龙鸟 发表于 2012-10-9 23:21
伪代码编程测试的核心在于考察受试者对常用算法的掌握程度及数理逻辑能力的高低。建议楼主恶补一下算法课程 ...

非常感谢!回复的好详细!
作者: 画中人    时间: 2012-10-10 08:47:24

CHNNO1 发表于 2012-10-9 23:47
没什么,这种考的是一般编程方法和思维。不针对某一语言,不会太深入。放松点,自信点。

谢谢你的鼓励!~~~~~~~~~~~~~~~~~~~
作者: 画中人    时间: 2012-10-10 08:48:25

S2000 发表于 2012-10-9 23:19
你也知道是伪代码了,那它就不是一种语言,也并没有标准格式,通常都是借用某一种其他语言的语法,加上自 ...

受教了~~感谢!
作者: 小沫    时间: 2012-10-10 08:55:40

提示: 作者被禁止或删除 内容自动屏蔽
作者: 乘龙鸟    时间: 2012-10-10 09:53:52

画中人 发表于 2012-10-10 09:46
非常感谢!回复的好详细!

记得要对你的算法给于适当的解释。不是很直接的算法通常建立在“定理”与对“定理”的证明基础上。

格式:
    逻辑依据(定理):
    解释你的依据(证明):
    伪代码:
作者: kingslander    时间: 2012-10-10 10:29:51

提示: 作者被禁止或删除 内容自动屏蔽
作者: ken454    时间: 2012-10-11 06:51:49

乘龙鸟 发表于 2012-10-9 23:21
伪代码编程测试的核心在于考察受试者对常用算法的掌握程度及数理逻辑能力的高低。建议楼主恶补一下算法课程 ...

比我狠,佩服
作者: 画中人    时间: 2012-10-12 10:22:04

谢谢楼上各位高手好心的回复,面试完了。。。!做错了一个地方。没过。555.
作者: 画中人    时间: 2012-10-12 10:22:48

另外和想的完全不同。这两天看的书都白看了。。。。可以直接用C写的。




欢迎光临 新西兰天维网社区 (http://bbs.skykiwi.com/) Powered by Discuz! X2