當前位置:編程學習大全網 - 編程語言 - 為什麽算法導論中的數組序號是從1開始的?

為什麽算法導論中的數組序號是從1開始的?

c語言下標從零開始是個錯誤,並且 index 也是壹個有誤導性的名詞,它表示的是偏移量,明明應該用 offset。

然後 c 的徒子徒孫都學了它,導致現在很多人都誤以為下標應該從 0 開始。

早期蠻荒時代,很多東西都不科學,算法導論作者致力於與落後文明作鬥爭,然而卻遭到了樓主妳的不理解,實乃編程屆壹大憾事。

我再說壹遍,C 是結構化的匯編,下標基 0 是受到了 PDP-11 指令集的影響,更老的語言(比如 Fortran)都是基 1 的。

另外用 0/非 0 代表 false/true 也是 PDP-11 中 TST 指令和 Z 位的行為。

可能是這本書強調算法的求學思想,所以從壹更加符合數學的數組規定。

但是編程的時候,指針這個東西會經常用到,如果用a(o)作為第壹個元素 那麽*a+n就等同於a(n) 比較方便

算法導論上的這個問題呢,我覺得我比較同意樓上的看法,這個書上面的很多的程序並不是可以敲上去直接運行的,他只是偽代碼,思想而已,給人看的,人類的普遍思維是從1開始,那麽書頁就是從1開始了

說編程語言是給機器看而偽代碼是給人看的簡直是逗大家笑吧...編程語言設計出來就是給人看的....

另外從0開始在很多方便都極好....我覺得寫多代碼都能體會到吧..

幫算導洗地:

算法導論通篇用的是偽代碼 是給人類閱讀理解的 不是設計給機器去運行的

而絕大多數情況下, index 從 1 開始更符合人類直覺(如果妳對這點有異議請參考的答案 )

但少數情況下, index 從 0 開始更符合人類直覺。例如書中 hashing 還有 FFT 那塊內容, index 是從 0 開始的。

其實寫幾天 Pascal 妳就適應啦。。

  • 上一篇:Eda編程配置
  • 下一篇:大家說壹下計算機等級考試是三級網絡技術簡單還是數據庫簡單,哪個記憶得多,哪個容易考過啊,謝謝!
  • copyright 2024編程學習大全網