為什么學(xué)校里的數(shù)據(jù)結(jié)構(gòu)教的是用偽代碼?
我提一點(diǎn)不同的看法。我認(rèn)為這個(gè)問題并不像很多回答那樣的顯而易見,或者說大多數(shù)答案沒有考慮到一點(diǎn),即提問者的見知。
就像很多答案所說,偽代碼比具體語(yǔ)言代碼更加抽象,不需要考慮過多的細(xì)節(jié),足夠描述算法邏輯,這是毋庸置疑的。但是能夠真正體會(huì)到這點(diǎn)的前提是,你需要多少了解幾種語(yǔ)言,熟練使用兩種語(yǔ)言以上進(jìn)行持續(xù)開發(fā)。這個(gè)時(shí)候你自然就會(huì)明白哪些是純邏輯,哪些是語(yǔ)言特性。一般性邏輯覺得用什么寫也就這么回事兒,算法抽象水到渠成。而且因?yàn)樯娅C多種語(yǔ)言,什么狗屁寫法沒見過,偽代碼那些規(guī)則就當(dāng)臨時(shí)學(xué)了個(gè)弱語(yǔ)言好了毛毛雨。
然而對(duì)于大多數(shù)學(xué)生而言,可能到學(xué)算法的時(shí)候就學(xué)了個(gè)譚浩強(qiáng)的c,他們熟悉的邏輯表現(xiàn)形式就是c,這時(shí)候看到偽代碼總覺得缺了些什么,非常古怪。這種疏離感確實(shí)是沒辦法緩解的,除非像上面所說的多項(xiàng)涉獵多寫實(shí)際的代碼,不然就只有忍受了。