您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
为什么学校里的数据结构教的是用伪代码,而不用具体语言实现,考试也是用伪代码,怎么感觉伪代码更记不住?
代码,语言,数据结构为什么学校里的数据结构教的是用伪代码,而不用具体语言实现,考试也是用伪代码,怎么感觉伪代码更记不住?
发布时间:2019-02-08加入收藏来源:互联网点击:
为什么学校里的数据结构教的是用伪代码,而不用具体语言实现,考试也是用伪代码,怎么感觉伪代码更记不住?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
数据结构研究的是通用的结构,是抽象的,跟具体语言没有关系。
如果一个数据结构书,采用了某种语言,过一段时间这个语言过时了,或者升级了,书里面的代码就失去意义了。
用伪代码,就像数学题里面用a、b、c代替数字,来表示一元二次方程的求根公式。
只要你学会求根公式,你就会解任何一元二次方程。如果一个数学课本,只讲具体的数字计算,不用“伪数字”表示算法,将会多么吃力啊!
所以,著名的计算机科学家高德纳在他著名的《计算机程序设计艺术》里面,连伪代码都没用,而是设计了一种指令集,所有的算法都用他自己这套指令集来展示。
回答于 2019-09-11 08:43:50
我提一点不同的看法。我认为这个问题并不像很多回答那样的显而易见,或者说大多数答案没有考虑到一点,即提问者的见知。
就像很多答案所说,伪代码比具体语言代码更加抽象,不需要考虑过多的细节,足够描述算法逻辑,这是毋庸置疑的。但是能够真正体会到这点的前提是,你需要多少了解几种语言,熟练使用两种语言以上进行持续开发。这个时候你自然就会明白哪些是纯逻辑,哪些是语言特性。一般性逻辑觉得用什么写也就这么回事儿,算法抽象水到渠成。而且因为涉猎多种语言,什么狗屁写法没见过,伪代码那些规则就当临时学了个弱语言好了毛毛雨。
然而对于大多数学生而言,可能到学算法的时候就学了个谭浩强的c,他们熟悉的逻辑表现形式就是c,这时候看到伪代码总觉得缺了些什么,非常古怪。这种疏离感确实是没办法缓解的,除非像上面所说的多项涉猎多写实际的代码,不然就只有忍受了。
回答于 2019-09-11 08:43:50
数据结构就是算法啊,你用C,C++,Java用什么写都行,数据结构重要的是算法思想,能表达出来运行逻辑就行了
回答于 2019-09-11 08:43:50
你记伪代码干什么?要学的是数据结构的思想和算法,伪代码至是一种表述方法。倒背如流也编译不过啊。
回答于 2019-09-11 08:43:50
数据结构的关键不在代码,而且那玩意是什么,能干什么,怎么干,,,,,,,也有用特定语言的数据结构,你不喜欢伪代码看特定语言的就行。
伪代码一个好处是可以照顾到大多数人(毕竟主流语言都可以和c很像),屏蔽些语言的差别。
当然如果你有心情你可以看看
PURELY FUNCTIONAL DATA STRUCTURES
再回头看看数据结构
回答于 2019-09-11 08:43:50
叫类代码,不叫伪代码。我们那个年代数据结构用的是类pascal,类似于pascal语言。学习过程中让你专注于算法,不在语言细节上分心,上机验证的时候你再完善成标准pascal语言编译运行。主次分明,这样学习才是高效的。
回答于 2019-09-11 08:43:50
程序是标准的ipo模型。对于待解决问题,程序能否给出正确解是至关重要的。所以算法的正确性证明和复杂度分析才是核心。涉及到逻辑证明,只有数学这一个工具。所以算法的表述形式也是偏形式化的。所有的科学,或者工程科学,要么围绕数学,要么围绕物理,要么围绕化学。计算机软件显然和后两者交集不多,数学是其根本。而数学是高度抽象的,不可能是某一特例语言这样的表达。
上一篇:幼儿教育该不该抢跑?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |