数据结构代码实现越简单越好吗
没看过郝斌的书,不太清楚题主说的“简单”是怎么定义的。
【数据结构代码实现越简单越好吗】 题主说代码中指针用的比较多,我并不认为这就很复杂难懂。比如@Menci 大佬的代码,用的指针就很多,但是照样非常的简单易懂,效率上也不输其他方法。不过@湛忠胜 这种沙茶就不一样了……
如果说简单代码就是用指针比较少的话,那么优点就在于,代码作者即使水平不是很高,代码照样可以简单易懂(相对而言)。至于效率,这个很难比较。往往人们会认为用指针比其他方式快,但是这一观点无法证实。
还有函数指针这个东西……建议题主用ML家族的语言(比如OCaml)写数据结构(逃
好了既然如此我就要安利函数式了,如果只想简单了解的话请学习Lisp(\u0026lt;del\u0026gt;JavaScript\u0026lt;/del\u0026gt;)或者ML(SML和OCaml皆可);想捉个PhD(?)的话请学Haskell;想成为最强人类的话请学习APL(???)(逃
啥你说你只想简单高效的实现数据结构?那么ML的ADT最适合你啦。
■网友
单从算法和算法实现角度考虑肯定是越快越好。
而且我不知道你说的简单是不复杂还是不难。
■网友
首先,指针的使用跟复不复杂没什么关系。有需要就用,必须要用那就得用。实现的复杂不一定是行数的多少,我觉得最重要的是,你第一次看一个实现代码,多长时间理解,是判断实现复不复杂的一个相对标准。当然是相对的了,因为你觉得复杂可能别人觉得简单。有些实现很长,但都是很明白的都是一股脑的码代码。有些很短,但背后是需要花很长时间去推导,演算的。还有一点,在其他条件相同情况下,功能实现的多少,当然也会影响实现的难度。比如list,就写个insert,erase,empty 其实很简单。那再多写个reverse,sort,splice,一下子就增加实现的难度。简单的实现,好处就是一看就懂。先按最基础最原始的,实现出来,首先能完成一个功能。缺点,很有可能效率会非常底下,因为没有什么优化,没用什么复杂度更低的算法,没用更好的思想。比如排序算法,多了去了。有10行能写完的insertion_sort,也有几百甚至上千行才能写完的tim_sort,都可以完成排序,那差别在哪呢?
■网友
代码少不代表执行效率高,还是要看对代码时间复杂度的分析,有些代码行数多,但很多行都是算常数时间的,对比n n^2之流基本可以忽略。另外,看数据结构、算法,最好首先对复杂度的分析有一个基本的了解,常用的几个辅助符号理解一下。
■网友
主要考虑算法复杂度,包括时间复杂度和空间复杂度。在实际场景下还要考虑编译和体系结构
■网友
郝斌的视频是最适合零基础的人,如果他按照书上的给你讲你听得懂吗? 你把思想搞懂就行
推荐阅读
- 北京22家市属医院均开展安检基本实现重点区域安检措施全覆盖
- 长江流域渔民退捕“上岸”实现扩产新致富
- 实现“甜蜜计划”,这对中哈跨国夫妻好甜
- 北京地铁11号线西段三座车站提前实现主体结构封顶
- 怎样对别人的代码进行适当修改使他永远也找不到问题出在哪
- 特斯拉|特斯拉将全面发布全自动驾驶软件最新版,曾承诺年底实现完全无人干预
- |徐州建有农家书屋2205家,实现数字书屋全覆盖
- 阿里云|【GET2020】阿里云解航:在线教育帮助线下教育一起实现教育公平和个性化
- 我有几个app点子,拉出来比较容易实现的一个和大家探讨,只差程序员(替你们说了)请问这个点子咋样
- 一个利用量子纠缠实现超光速通讯的构想,可行吗
