用链表的目的

79 阅读1分钟

1.任何一种东西被发明出来,或者说被设计出来,一定是为了表达出设计者针对某项问题的设计思路。 2.错误的根源在于,你把链表当成了一种整体的、不可分割不可更改的完整概念——然后,就着这个概念,考虑它的用途它的优点它的弱点,总结出一二三四然后背诵……完了。 完蛋。 这叫买椟还珠。 实际上,讲链表是为了给你引出“借助后向指针(next)组织数据”这么一个设计思路;同时借助这个思路完成一个典型的应用案例、学着分析它的空间/时间复杂度……(摘抄自知乎invalid s) 3.了解思路后,拿程序语言设计的术语来说,链表的定义并不是final class List,而是abstract class List——前者是“这是一个现成的完美品”“用就对了别管它怎么实现也别试图改进它”;后者是“这并不是一个完美的现成品”“你必须彻底搞明白它的设计思路”“你必须自己改进它”……